2012-08-08 1 views
0

Я реализую WatchDog, чтобы искать рекурсивно для изменения файла, удаления и добавления в каталог, я использую linux. Программа работает хорошо и делает это с Java7 довольно просто, единственное, что когда я добавляю каталог с некоторыми файлами в нем, я не могу контролировать добавление всех содержащихся файлов. Я думаю, что проблема заключается в том, что когда я добавляю новый каталог, WatchDog должен зарегистрировать его в WatchService, и тем временем какой-то файл будет потерян (обычно один или два). WatchDog - это Thread, который помещает каждый updateEvent в blockingQueue, который читается другим Thread.Java7: Обнаруживать все файлы при создании нового непустого каталога

Вот й WatchDog: http://pastebin.com/q5SW0iJF

Кто-нибудь испытывал такую ​​же проблему, и если да, то как же вы решаете, что?

Благодаря

ответ

1

Возможно, вам следует рассмотреть вопрос о Java 7 WatchService API? Это спасет вас заново изобретать колесо.

+0

? Я использую это, мой класс просто проводит опрос WatchService для новых событий. Проблема в том, что WatchService должен быть зарегистрирован в каталоге, чтобы искать события на нем. Если я не понял ответ, пожалуйста, объясните. благодаря – Perennialista