防止 Apache Commons FileAlterationObserver 中的递归

问题描述 投票:0回答:1

我希望使用 Apache Commons 目录监控,但在我的第一次尝试中,我发现它通过子目录递归检查。这比我想要的要多得多(而且可能还有更多的开销)。

FileAlterationObserver observer = new FileAlterationObserver(new File(directoryPath));

有没有办法关闭此行为,以便我只收到指定目录内的更改通知?

java directory monitoring apache-commons-io
1个回答
0
投票

如果您阅读 javadoc,就会发现有一个接受

FileFilter
的重载。传入一个过滤器,检查任何文件与所选目录具有相同的父目录:

File dir = new File(directoryPath);
FileAlterationObserver observer = new FileAlterationObserver(dir, f -> dir.equals(f.getParentFile()));

我不使用这个类,所以可能有更好的方法。

© www.soinside.com 2019 - 2024. All rights reserved.