使用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块中执行此操作。