【发布时间】:2020-11-01 23:52:10
【问题描述】:
好的,我读了很多东西,但我没有弄清楚如何根据文件扩展名过滤文件夹(目录和子目录),例如我想要只包含的文件夹列表(目录和子目录) “.mp3”或“.mp4”文件,我不想使用 Walk.Tree,如果有任何可能的方式通过“filenameFilter”或除 Walk.tree 方法之外的任何其他方式。
这是我迄今为止尝试过的代码,没有错误,但也没有过滤特定文件的文件夹。它显示了所有文件夹。
提前致谢。
File[] ff = f.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.toLowerCase().endsWith(".mp3") || new File(dir.toPath().toString(),name).isDirectory();
}
});
【问题讨论】:
-
好的。如果是目录结构: dir1-dir11-a.mp3, dir1-dir12-b.txt ,你要输出什么?
-
我想要只包含 mp3 文件的目录,例如,如果 dir11、dir12 包含 mp3 文件而其他目录不包含,那么我只想要 dir11、dir12。
-
是的,但在我的例子中。你想要的输出是什么?仅 dir11 或同时 dir1 和 dir11
-
是 dir1 和 dir11 如果 dir1 是父子 dir2345678910, dir11
-
您需要按层次顺序排列这些名称还是只需要一组文件夹名称?
标签: java file filter directory