等待外部申请关闭

时间:2013-08-09 09:23:03

标签: java

使用Open a text file in the default text editor… via Java?中的说明,我打开一个外部文件编辑器来编辑这样的文件;

    try {
        File temp = File.createTempFile("commit-", ".tmp");
        if (System.getProperty("os.name").toLowerCase().contains("windows")) {
            String cmd = "rundll32 url.dll,FileProtocolHandler " + temp.getCanonicalPath();
            Process p = Runtime.getRuntime().exec(cmd);
            p.waitFor();
            System.out.println("Reached this line");
        } else {
            Desktop.getDesktop().edit(temp);
        }
    } catch (IOException|InterruptedException e) {
        System.err.println(e.getMessage());
    }

我不希望我的程序继续执行,直到该编辑器退出。我的解决方案是使用waitfor(),但是,我看到消息Reached this line,而外部应用程序 - 在这种情况下为“notepad ++” - 仍在运行。我正在运行Windows 7,netbeans 7.3.1和jdk 1.7。

另外,我不知道如何在else块中执行此操作。

0 个答案:

没有答案