WatchService for Java 6 [已关闭]

2022-09-03 06:00:41

Java 7 引入了用于持续监视文件系统的功能。Java 6 是否有向后移植?WatchService

有没有具有类似功能的纯Java库?


答案 1

是的,当然。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()。


答案 2

一个纯粹的Java库是不可能的;如果你想避免轮询,你需要一个本机组件。

http://wiki.netbeans.org/NativeFileNotifications 提供了有关可用本机 API 和包装它们的各种 Java 库的一些信息。


推荐