我使用此代码以递归方式从给定目录中获取所有文件。

List<File> fileList = (List<File>) FileUtils.listFiles(new File(directoryName), null , true);


我想从列表中排除一些文件,所以method的第二个参数值不适合此目的。
我也尝试使用notFileFilter,但是不能递归使用它。

FileFilter fileFilter1 =   FileFilterUtils.notFileFilter(FileFilterUtils.nameFileFilter(".info", null));
List<File> fileList = (List<File>) FileUtils.listFiles(new File(directoryName), fileFilter1, true);

最佳答案

使用listFiles方法的另一个重载:

FileFilter notInfoFilter = FileFilterUtils.notFileFilter(
        FileFilterUtils.suffixFileFilter(".info", IOCase.SYSTEM));

Collection<File> files = FileUtils.listFiles(
        new File(directoryName), notInfoFilter, TrueFileFilter.INSTANCE);

09-28 02:04