Java:文件重命名检测

有没有办法使用Java检测文件重命名? (NIO的WatchService API或任何其他)从我在重命名文件时看到的情况发生了两个单独的事件 – ENTRY_DELETE,然后是ENTRY_CREATE。

看看jpathwatch 。 除了Java 7中指定的标准监视事件种类( ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY )之外,它还具有名为ENTRY_RENAME_FROMENTRY_RENAME_TO其他事件,这些事件将在重命名文件时触发。 请注意,这取决于底层操作系统是否支持文件重命名事件。

检测文件的重命名不能移植。 因为,看起来令人惊讶,文件HAS-A名称不可移植的想法。 大多数Unix文件系统允许文件具有任意数量的ASSOCIATED名称(包括零名称)。 在Unix(POSIX)世界中,重命名意味着添加新名称然后删除原始名称。

我认为jnotify对你的情况很有用。

Interesting Posts