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