我已经实现了一个应用程序,它使用 Java NIOWatchService
来监视目录树中文件和文件夹的更改。在 Windows XP 上运行,所有文件系统更改都被拾取 - 除了通过在资源管理器中拖放将目录移动到受监视的树中。
拾取事件用于剪切和粘贴目录(ctrl+x、ctrl+v),而不是拖放(编辑- 请参阅下面的更新)。
我已经使用JPathWatch重新实现了解决方案,但是这也遇到了同样的问题。
我正在注册标准ENTRY_CREATE
,ENTRY_DELETE
并且在 Windows 上运行应用程序ENTRY_MODIFY
时还使用了好奇的未充分记录的文件com.sun.nio.file.ExtendedWatchEventModifier
来避免其他问题。
除了投票——我真的不想这样做——有人有什么想法吗?
更新
问题一般是移动文件 - 我误认为 ctrl+x/ctrl+v 工作。有关说明,请参见下面的解决方案。