Java中的FileSystemWatcher - 删除正在监视的目录

时间:2011-11-15 16:14:31

标签: java directory filesystemwatcher

我已经实现了文件系统观察程序。每当我尝试删除监视目录时,它会为该目录中的所有文件或子目录生成ENTRY_MODIFY个事件。有没有办法找到有监视目录的删除命令?我不想看父目录,因为这样也会监视所有其他文件和文件夹的更改。

1 个答案:

答案 0 :(得分:1)

也许您可以使用像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();