java - 在java中捕获系统默认编辑器关闭事件

标签 java file system desktop

我有一个具有以下流程的 Windows 程序:

generated config file -> user edits config file -> use config file

理想情况下,我想启动给定文件类型/扩展名(.cfg、.ini、.txt)的系统默认编辑器,这可以通过java.awt.Desktop.edit()来完成。 .

但是由于编辑器启动后程序会继续执行,我不知道如何检查用户是否确实再次关闭了编辑器 :\

我已经在许多应用程序中看到过这种情况,尽管大​​多数是在 Linux 上而且可能不是 Java。

此外,由于用户“愚蠢”,因此从我的应用程序中配置默认​​编辑器太复杂了。使用标准程序可能是可以接受的,例如记事本确保几乎始终安装在 Windows 计算机上。

最佳答案

刚刚找到了记事本解决方案——哦!这是很明显的:)

使用Runtime.exec()Process.waitFor() :

Process p = Runtime.getRuntime.exec("notepad " + filename);
p.waitFor();

关于java - 在java中捕获系统默认编辑器关闭事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5180885/

相关文章:

java - Web 应用程序的安装最佳实践

file - 如何在 lua 中读取大文件(演出或更多)?

java - 如何正确关闭OutputStream?

c - 在 FreeBsd 和 Linux 上使用 O_APPEND 打开文件看起来不像是原子操作?

android - 以编程方式检查 Android 系统安全通知访问设置

java - 将应用程序从 Oracle 更改为 Hadoop

java - 使用数据库部署 Java Web 应用程序

java - 如何使用 Graphics 对象 g 绘制透明形状?

Python write() 方法和 close() 函数不适用于最新版本的 Visual Studio Code。代码适用于 Python 3.8.5 Shell

algorithm - 用于设计和建模复杂系统的工具