Java обнаруживает изменения в файловой системе

У меня есть папка, в которой выводятся непрерывно новые файлы. В Java, что является лучшим способом обнаружить изменения в файловой системе (т.е. указанная папка, в которой выводятся файлы) и добавляют недавно прибывшие файлы к структуре данных очереди так, чтобы я мог последовательно обработать каждый входящий файл.

Я знаю о listFiles () функция в классе Файла, но использую это, я могу только получить файлы, которые доступны в момент времени. Конечно, я могу непрерывно опрашивать папку и получать список файлов в нем с помощью потока. Но это лучший способ или там лучший способ выполнить это.

8
задан Emil 2 August 2010 в 12:18
поделиться

2 ответа

Непрерывный опрос - это способ сделать это в Java на данный момент - хотя и не опрашивайте слишком часто, это может быть довольно сложной операцией, если каталог содержит много записей.

JDK 7 будет иметь специальный API для этого java.nio.file.WatchFile

7
ответ дан 5 December 2019 в 15:17
поделиться

К сожалению, стандартного способа сделать это до выхода JDK7 не существует. Но в Интернете есть несколько библиотек, которые используют для этого собственные функции различных операционных систем.

Библиотеки, которые я просмотрел: jPoller и jNotify Но в конце концов я просто опросил каталог, который был мне интересен, когда мне пришлось это сделать.

4
ответ дан 5 December 2019 в 15:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: