Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Java WatchService 
:(
    Опции темы
Oligarh
Дата 25.5.2012, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 23.9.2011

Репутация: нет
Всего: нет



Здравствуйте.
Подскажите, кто юзал в 7 Java WatchService.
Есть директория, в которой несколько поддиректорий и есть файлы, как в корне папки основной, так и в подпапках.
Использую WatchService для просмотра изменений в этих папочках.
Все прекрасно работет, когда мы добавляем, удаляем или переименовываем файлы, но если заменяем какой-то файл в поддиректории на другой с таким же именем, то WatchService не видит никаких изменений в каталоге. 
В чем может быть проблема и кто что думает по этому поводу?

Делаю вот так:
Код

File file = new File(dirResource);
WatchService watcher = null;
Path path = file.toPath();
WatchKey key = null;
try {
    watcher = FileSystems.getDefault().newWatchService();
    updateFileInList(listArray(dirResource), erasePath(dirResource + "/"));

    key = path.register(watcher,
        StandardWatchEventKinds.ENTRY_CREATE,
        StandardWatchEventKinds.ENTRY_DELETE,
        StandardWatchEventKinds.ENTRY_MODIFY);
    } catch (IOException e) {
            ...
    }

    try {
        while (true) {
            WatchKey watchKey = null;
            if (watcher != null) {
                watchKey = watcher.take();
            }
            if (watchKey != null) {
                for (WatchEvent<?> watchEvent : watchKey.pollEvents()) {
                    WatchEvent.Kind kind = watchEvent.kind();
                    if (kind == StandardWatchEventKinds.OVERFLOW) {
                        System.out.println("##### OVERFLOW IN WatcherService!!!");
                        continue;
                    }

                    ............


                    }
                    watchKey.reset();
                }
            }
        } catch (InterruptedException e) {
            .............
        }


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0895 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.