WatchService for Java 6 [已关闭]
2022-09-03 06:00:41
Java 7 引入了用于持续监视文件系统的功能。Java 6 是否有向后移植?WatchService
有没有具有类似功能的纯Java库?
Java 7 引入了用于持续监视文件系统的功能。Java 6 是否有向后移植?WatchService
有没有具有类似功能的纯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()。
一个纯粹的Java库是不可能的;如果你想避免轮询,你需要一个本机组件。
http://wiki.netbeans.org/NativeFileNotifications 提供了有关可用本机 API 和包装它们的各种 Java 库的一些信息。