获取有关Java中已更改文件的信息

时间:2015-03-12 17:44:13

标签: java file watchservice apache-commons-io file-monitoring

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

  1. 这个过程发生了变化。
  2. 发生了什么变化。
  3. 此外,我知道有一种方法可以更改文件中的“上次修改日期”,因此我想检查是否有人更改了该字段。

    我尝试了“commons.io”,“DefaultFileMonitor”和“WatchService”,但我可以从中获得的所有信息都是发生了更改并且文件已更改。

2 个答案:

答案 0 :(得分:1)

除非你是一个奇怪的操作系统,我完全不知道,你需要使用你实现的一些机制来跟踪谁正在更改你的文件。操作系统没有跟踪这一点。它也没有跟踪发生了什么变化。

所以我不相信你可以做#1,除非你可以让每个进程都可以改变文件以跟踪它是否做了改变。

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

答案 1 :(得分:0)

我很确定你不能这样做。 OS和Java都没有存储这些信息。也许使用一些内核调用。