Java:文件重命名检测

时间:2011-08-17 11:28:20

标签: java file rename nio detect

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

3 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:4)

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

答案 2 :(得分:1)

我认为jnotify对您的情况有用。