修改文件更改事件?

Mun*_*sir 3 java filesystems nio

我正在使用WatchServiceNIO。观看特定目录的两个类(Ubuntu 11.10)。

每当进行更改时,例如,如果我修改现有文件,它会触发一个MODIFIED事件 2 次。不知道为什么?当我创建新文件时它工作正常。

Mun*_*sir 6

我找到了解决方案。它触发两个修改事件,因为当文件系统写入新文件时,它会用零字节创建它并触发创建事件,然后将数据写入文件,然后触发修改事件。

这同样适用于修改。当我们修改一个已经存在的文件时,文件系统首先用 0 字节创建它并触发一个修改事件,然后向它写入数据。然后它再次触发修改事件。这就是我收到两个修改事件的原因。