java - 使用 Java 中的外部应用程序编辑文件并写回?

标签 java desktop external-application

当您不知道文件与哪个应用程序关联时,如何从 Java 应用程序编辑文件。另外,因为我使用的是 Java,所以我更喜欢独立于平台的解决方案。外部应用程序关闭后,我想将更改写回文件中。编辑文件是本地临时文件。真实文件保存在服务器、存档或其他任何位置。

我现在可以使用类 Desktop打开文件进行编辑。但我如何检测文件是否已关闭。

最佳答案

在这种情况下,外部应用程序未知并且不是从您的 java 应用程序调用的,那么您可以创建一个恶魔线程。我假设您的应用程序知道文件的位置。该恶魔线程可以检查文件上是否有锁以及锁释放时文件的最后更新时间。如果最后更新时间发生变化,您就知道文件已更改。

另一个选择可能是使用 3rd 方 api,例如 apache 的 FileListener,它在内部也做了同样的事情。

关于java - 使用 Java 中的外部应用程序编辑文件并写回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5221522/

相关文章:

c++ - 如何调用带参数的外部程序?

java - 为什么某些 API(如 JCE、JSSE 等)通过单例映射提供可配置属性?

java - 在 WSDL 中导入命名空间导致 JAXP09020006 : The argument 'systemId' can not be null

windows - 如何在纹理上的 3d 空间中显示 windows/X 窗口系统窗口?

android - 如何远程运行apk

C#在拖动操作期间检测桌面文件夹鼠标?

c++ - 使用 C++ 动态执行和终止外部程序

java - 使用 XStream 的 Xml 结构

java - Spring mvc servlet url 未正确映射

c# - 为什么 Process.Start 在 asp.net web 服务中不起作用?