我使用此代码以递归方式从给定目录中获取所有文件。
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);