2

使用在默认文本编辑器中打开文本文件中的说明...通过 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());
    }
    

在该编辑器退出之前,我不希望我的程序继续执行。我的解决方案是使用,但是,当外部应用程序(在本例中为“notepad++”)仍在运行waitfor()时,我看到了该消息。Reached this line我正在运行 Windows 7、netbeans 7.3.1 和 jdk 1.7。

另外,我不知道如何在 else 块中做到这一点。

4

0 回答 0