Java 1.5增加了非常实用的Process和ProcessBuilder类,能让我们非常方便地在Java应用程序中启动其他任何可执行文件和脚本。以下代码将运行一个记事本:
public class Main {
private static final String COMMAND = "C://WINDOWS//NOTEPAD.EXE";
public static void main(String[] args) throws IOException, InterruptedException {
Process process = null;
if(args.length==0) {
process = new ProcessBuilder(COMMAND).start();
}
else {
process = new ProcessBuilder(args).start();
}
int exitCode = process.waitFor();
System.out.println("Process exit: " + exitCode);
}
}
如果传入参数,则参数将作为完整的命令传入新创建的Process(第一个参数为Process的文件路径)。Process类的start()方法将启动新的进程。
此外,waitFor()方法能让当前线程等待直至Process结束,并返回结束代码。测试可以发现,正常结束的Process返回0,如果使用任务管理器强制结束Notepad进程,将返回1。
本文介绍如何使用Java 1.5新增的Process和ProcessBuilder类来启动外部可执行文件和脚本,通过示例代码展示了如何启动记事本程序并获取其退出状态。

被折叠的 条评论
为什么被折叠?



