0

我正在尝试监视java中的文件。当文件修改发生时,我想知道:

  1. 哪个过程发生了变化。
  2. 发生了什么变化。

另外,我知道有一种方法可以更改文件中的“最后修改日期”,所以我想检查是否有人更改了该字段。

我尝试了“commons.io”、“DefaultFileMonitor”和“WatchService”,但我能从它们那里得到的所有信息都是是否发生了更改以及文件是否已更改。

4

2 回答 2

1

除非您使用的是我完全不了解的奇怪操作系统,否则您将需要使用您实现的某种机制来跟踪谁在更改您的文件。操作系统不会跟踪这一点。它也不会跟踪发生了什么变化。

所以我不相信你可以做#1,除非你能得到每个可能改变文件的过程来跟踪它做了改变。

如果您保留文件的副本然后进行比较,则可以执行#2。

于 2015-03-12T17:52:21.743 回答
0

我很确定你不能那样做。操作系统和 Java 都没有存储此类信息。也许使用一些内核调用。

于 2015-03-12T17:53:30.123 回答