0

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

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

4

2 回答 2

1

在这种外部应用程序未知且未从您的 java 应用程序调用的情况下,您可以创建一个恶魔线程。我假设您的应用程序知道文件的位置。该恶魔线程可以检查文件上的任何锁定以及锁定释放时文件的最后更新时间。如果上次更新时间更改,您知道文件已更改。

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

于 2011-03-07T15:57:02.557 回答
0

我不确定“关闭外部应用程序后,我想将文件中的更改写回”是什么意思。

如果您只想等待外部应用程序完成,您可以改用 RunTime :


Process p = Runtime.getRuntime.exec("mycommand");
p.waitFor()

于 2011-03-07T15:42:13.810 回答