我正在使用 FilenameFilter 类列出目录中具有特定扩展名的所有文件。但我还想列出该目录中的所有目录。我在网上搜索了一下,只找到了如何使用FilenameFilter进行多个扩展名。但是我怎样才能对目录做到这一点呢?
Here is code that I use to list all .txt files:
File[] listOfFiles = folder.listFiles(new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.toLowerCase().endsWith(".txt");
}
});
Run Code Online (Sandbox Code Playgroud)
Is there even a way to do it via filter or do I have to do it in some other way?
你有很多方法可以做到这一点。特别是, ajava.io.FileFilter为您提供了比 a 更大的灵活性FilenameFilter,允许您使用以下命令测试目录isDirectory():
File[] listOfFiles = folder.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
return pathname.getName().toLowerCase().endsWith(".txt")
|| pathname.isDirectory();
}
});
Run Code Online (Sandbox Code Playgroud)