java8 遍历目录下的全部子目录和子目录的子目录,过滤出有大于1张jpg的目录名称,如何写 ?
1个回答
展开全部
使用递归进行:
class T {
public static void main(String[] args) {
String path = "d:\\test\\";
File filePath = new File(path);
if (filePath.isDirectory()) {
countJPG(filePath);
} else {
System.out.println("必须由一个目录开始");
}
}
private static void countJPG(File directory) {
for (File file : directory.listFiles()) {
if (file.isDirectory()) {
countJPG(file);
} else {
if ("jpg".equals(file.getName().split("\\.")[1])) {
System.out.println(directory.getPath());
break;
}
}
}
}
}
补充一下,这个程序其实有个bug,如果有的文件没有后缀名,我通过"."来裁剪文件名就会有问题。
运行结果:
我分别在这两个目录下放了图片
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询