gpt4 book ai didi

java - 如何获取具有指定扩展名并排除少数目录的文件列表?

转载 作者:行者123 更新时间:2023-12-02 01:40:20 34 4
gpt4 key购买 nike

我需要列出目录中的文件(指定的扩展名),不包括一些子目录。

我可以使用扩展名进行过滤,但不能使用两个条件进行过滤1)文件应按扩展名过滤2)应该排除一些子目录

    File dir = new File("D:\\SomeDir");
String[] extensions = new String[] { "txt", "java" };
List<File> files = (List<File>) FileUtils.listFiles(dir, extensions, true);
for (File file : files) {
System.out.println("file: " + file.getCanonicalPath());
}

如何排除选定的子目录?

最佳答案

试试这个代码:

// for exlude file extension  
NotFileFilter suffixFileFilterFileFilter=new NotFileFilter(new
SuffixFileFilter(new String[] { "txt", "java" }));

//to include only selected extension use below one
//IOFileFilter suffixFileFilterFileFilter= new SuffixFileFilter(new String[] { "java", "txt" });

NotFileFilter directoryFileFilterFileFilter=new NotFileFilter(new
PrefixFileFilter(new String[] { "tolearn", "dir2" })); // for directory
File dir = new File("D:\\SomeDir");
List<File> fileList = (List<File>) FileUtils.listFiles(dir,suffixFileFilterFileFilter,directoryFileFilterFileFilter);
for (File file : fileList) {
System.out.println("file: " + file.getCanonicalPath());
}

关于java - 如何获取具有指定扩展名并排除少数目录的文件列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54533815/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com