java8 遍历目录下的全部子目录和子目录的子目录,过滤出有大于1张jpg的目录名称,如何写 ?

 我来答
澈丶233
2019-11-08 · TA获得超过169个赞
知道小有建树答主
回答量:446
采纳率:94%
帮助的人:102万
展开全部

使用递归进行:

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,如果有的文件没有后缀名,我通过"."来裁剪文件名就会有问题。

运行结果:

我分别在这两个目录下放了图片

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式