我对
PathAPI 并不熟悉,因此请仔细阅读以下内容。
您正在注册一个要监视的目录,每当其直接后代之一被修改/创建/删除时,它将接收通知。
您需要做的第一件事是注册其所有子目录以进行观看:
// Used to filter out non-directory files.// This might need to filter '.' and '..' out, not sure whether they're returned.public class DirectoryFilter implements FileFilter { public boolean accept(File file) { return file.isDirectory(); }}// Add this at the end of your testForDirectoryChange methodfor(File dir: myDir.toFile().listFiles(new DirectoryFilter())) { testForDirectoryChange(dir.toPath());}这将递归地探索您的文件结构并注册每个目录以供观看。请注意,如果您的目录树太深,则递归可能不是可接受的解决方案,您可能需要对其进行“迭代”。
您需要做的第二件事是,每当您收到目录创建事件时,请不要忘记注册新目录以进行监视。
无论如何,这就是我要做的事情,但是手头没有有效的Java 1.7安装,因此我无法对其进行测试。让我知道它是否有效!



