WatchService for Java 6

Java 7引入了WatchService来持续监视文件系统。 是否有Java 6的后端口?

是否有具有类似function的纯Java库?

当然是。 Apache VFS就是这样做的。 你可以在http://commons.apache.org/vfs/下找到它。 它是一个可以监控文件的纯java库,它非常易于使用:

 FileSystemManager manager = VFS.getManager(); FileObject file= manager.resolveFile("c:/MyFile.txt"); DefaultFileMonitor fm = new DefaultFileMonitor(new MyListener()); fm.setDelay(5000); fm.addFile(file); fm.start(); 

上面的代码将监视文件c:/MyFile.txt。 如果它改变,则调用对象new MyListener()。

Jetbrains IntelliJ IDEA有一个组件“ 虚拟文件系统 ”,可以激活本机文件系统观察程序,将基础文件系统更改通知给IDEA。 两年来,Jetbrains一直在发布一个应该包含该组件的开源版本。 它适用于Java 6。

它是在FAQ 2.0 页面中声明的Apache 2.0许可下发布的。