使用在默认文本编辑器中打开文本文件中的说明...通过 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 块中做到这一点。