FileSystemWatcher в Java - удаление просматриваемого каталога - PullRequest
0 голосов
/ 15 ноября 2011

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

1 Ответ

1 голос
/ 15 ноября 2011

Возможно, вы могли бы использовать такую ​​библиотеку, как Apache Commons VFS или org.apache.commons.io.monitor, которая предоставляет такие функции.В любом случае, я думаю, что вы должны отслеживать родительский каталог интересующего вас каталога.

Вот небольшой (не проверенный!) Пример:

File directory = new File("c:/your/parent/dir"));
FileAlterationObserver observer = new FileAlterationObserver(directory);
observer.addListener(new FileAlterationListener() {

    // here you have to implement some methods, this is the pertinent one for you: 
    public void onDirectoryDelete(File directory) {
        // do your processing here
    }
});

FileAlterationMonitor monitor = new FileAlterationMonitor(interval);
monitor.addObserver(observer);
monitor.start();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...