在Java App中启动进程

来源:互联网 发布:华晨宇 淘宝 编辑:程序博客网 时间:2024/04/29 21:39

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。

原创粉丝点击