Java 7 представила WatchService для непрерывного мониторинга файловых систем. Есть ли резервная копия для Java 6?
Существуют ли чистые библиотеки 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 для этого невозможна; вам нужен собственный компонент, если вы хотите избежать опроса.
Jetbrains IntelliJ IDEA имеет компонент "Виртуальная файловая система" , который запускает собственный наблюдатель файловой системы, уведомляющий об изменениях базовой файловой системы обратно в IDEA. В течение двух лет Jetbrains выпускает версию с открытым исходным кодом, которая должна содержать компонент. Он работает с Java 6.