0

尝试使用 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;

重命名事件也没有错误,它会生成多个事件,如删除和创建,为此寻找更可靠的解决方案。

4

0 回答 0