Java 7 watcherservice - фильтрация файлов для просмотра - PullRequest
2 голосов
/ 27 января 2012

Я пользуюсь наблюдателем, и он отлично работает.Мне нужно только следить за файлами с определенным расширением, например .xml.Как я могу это реализовать?

Спасибо.

1 Ответ

4 голосов
/ 04 мая 2012

Похоже, что нет встроенного фильтра расширений файлов (например, используется старый интерфейс java.io.FileFilter).Я решил эту же проблему, добавив оператор «if» в свой код обработки следующим образом:

// Watcher gives key and you get event...

WatchEvent<Path> ev = (WatchEvent<Path>) event;
Path file = dir.resolve(ev.context());
if (isCorrectFileType(file)) {
    // Do you processing here.
}

И простая проверка:

private boolean isCorrectFileType(Path file) {
    return (file.toString().endsWith(".xml"));
}
...