par*_*tic 16 java filesystems java-6
引入Java 7 WatchService用于持续监视文件系统.是否有Java 6的后端口?
是否有具有类似功能的纯Java库?
Tho*_*rig 15
当然是.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();
Run Code Online (Sandbox Code Playgroud)
上面的代码将监视文件c:/MyFile.txt.如果它改变,则调用对象new MyListener().
一个纯Java库是不可能的; 如果要避免轮询,则需要本机组件.
http://wiki.netbeans.org/NativeFileNotifications提供了有关可用本机API和包装它们的各种Java库的一些信息.