Java: 文件重命名检测

6
有没有一种使用Java检测文件重命名的方式?(NIO的WatchService API或其他方法)根据我所见,当文件被重命名时,会出现两个不同的事件- ENTRY_DELETE和ENTRY_CREATE。
3个回答

9

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


4

检测文件重命名是不可移植的。因为,尽管看起来令人惊讶,一个文件拥有名称的这个概念并不是可移植的。大多数Unix文件系统允许一个文件拥有任意数量的相关名称(包括零个名称)。在Unix(POSIX)世界中,重命名意味着添加一个新名称,然后删除原始名称。


2

我认为jnotify在你的情况下会很有用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接