如何启动java平台,如何从Java运行系统应用程序(可执行文件)

如今, 在许多应用程序中, 必须在运行时依赖其他应用程序以保证应用程序的完整性。例如, 第三方应用程序的目标是存储来自计算机上安装的设备的签名。在Java中, 使用Runtime类非常容易, 该类允许应用程序与应用程序在其中运行的环境进行交互。例如, 在Windows中, 你将能够使用CLI中的别名notepad打开Notepad.exe应用程序, 因此, 对于Java, 你应该能够使用以下3行代码来启动notepad.exe应用程序:

Runtime runTime = Runtime.getRuntime();

String executablePath = "notepad";

Process process = runTime.exec(executablePath);

但是, 你将不会始终拥有可执行文件的快捷方式, 因此你需要提供可执行文件的绝对路径。在这篇简短的文章中, 我们将为你提供一个简短的摘要, 使你可以轻松地从系统启动第三方应用程序。

完整的例子

打包在应用程序中的以下代码段将启动在executePath变量中定义的应用程序(可执行文件), 并将捕获该示例触发的任何异常:

package sandbox;

import java.io.IOException;

public class Sandbox {

/**

* Example of how to run an executable from Java.

*

* @param args

*/

public static void main(String[] args) {

try {

Runtime runTime = Runtime.getRuntime();

String executablePath = "C:\Users\sdkca\AppData\Local\Programs\Microsoft VS Code\Code.exe";

Process process = runTime.exec(executablePath);

} catch (IOException e) {

e.printStackTrace();

}

}

}

如果可执行文件不存在, 则代码将捕获异常, 并在控制台中显示类似于以下内容的输出:

java.io.IOException: Cannot run program "my-executable-path.exe": CreateProcess error=2, The system cannot find the file specified

at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)

at java.lang.Runtime.exec(Runtime.java:620)

at java.lang.Runtime.exec(Runtime.java:450)

at java.lang.Runtime.exec(Runtime.java:347)

at sandbox.Sandbox.main(Sandbox.java:18)

Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified

at java.lang.ProcessImpl.create(Native Method)

at java.lang.ProcessImpl.(ProcessImpl.java:386)

at java.lang.ProcessImpl.start(ProcessImpl.java:137)

at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)

编码愉快!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值