尝试使用 java 8 到 java 11 版本为多个平台(如带有 java nio 包的 windows/unix/linux)实现监视文件/文件夹事件,如(CREATE、DELETE、MODIFY、RENAME)
观察到 CREATE/DELETE/MODIFY 工作正常。试图理清如何捕获文件或文件夹上的重命名事件。
key = filePath.register(watchService, StandardWatchEventKinds.ENTRY_CREATE);
break;
case modified:
key = filePath.register(watchService, StandardWatchEventKinds.ENTRY_MODIFY);
break;
case deleted:
key = filePath.register(watchService, StandardWatchEventKinds.ENTRY_DELETE);
break;
case renamed:
key = filePath.register(watchService, StandardWatchEventKinds.ENTRY_DELETE, StandardWatchEventKinds.ENTRY_CREATE);
break;
default:
break;
重命名事件也没有错误,它会生成多个事件,如删除和创建,为此寻找更可靠的解决方案。