Подтвердить что ты не робот

WatchService для Java 6

Java 7 представила WatchService для непрерывного мониторинга файловых систем. Есть ли резервная копия для Java 6?

Существуют ли чистые библиотеки Java с похожими функциями?

4b9b3361

Ответ 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, которые их обертывают.

Ответ 3

Jetbrains IntelliJ IDEA имеет компонент "Виртуальная файловая система" , который запускает собственный наблюдатель файловой системы, уведомляющий об изменениях базовой файловой системы обратно в IDEA. В течение двух лет Jetbrains выпускает версию с открытым исходным кодом, которая должна содержать компонент. Он работает с Java 6.

Он выпущен под лицензией Apache 2.0, как указано на странице часто задаваемых вопросов.