我有一个具有以下流程的Windows程序:
generated config file -> user edits config file -> use config file
理想情况下,我想针对给定的文件类型/扩展名(.cfg,.ini,.txt)启动系统默认编辑器,可以使用来完成java.awt.Desktop.edit()。
java.awt.Desktop.edit()
但是由于一旦编辑器启动后程序便继续执行,所以我不知道如何检查用户是否再次关闭了编辑器 :\
:\
我已经看到这是在众多应用程序中完成的,尽管大多数是在Linux上,也可能是在非Java中。
另外,由于用户是“愚蠢的”,因此从我的应用程序中配置默认编辑器太复杂了。可以使用标准程序,例如记事本,可以确保 几乎 总是将其安装在Windows计算机上。
刚刚想出了记事本解决方案-哎呀!这是很明显的:)
使用Runtime.exec()和Process.waitFor():
Runtime.exec()
Process.waitFor()
Process p = Runtime.getRuntime.exec("notepad " + filename); p.waitFor();