public static void main(String[] args) {
File dir = new File("D:\\");
//将D盘下的文件存到集合数组中
File[] subFiles = dir.listFiles();
//定义一个map集合
HashMap<String, Integer> hm = new HashMap<>();
//便利数组
for (File file : subFiles) {
//判断获得的文件是否为文件夹
if(file.isDirectory()) {
hm.put(file.getName(), getNum(file));
}
}
for (String key : hm.keySet()) {
Integer value = hm.get(key);
System.out.println(key + "文件夹——有" + value +"个.txt文件");
}
}
/* * 定义方法获取文件夹下的.txt文件个数
* 返回值类型int
* 参数File file
*/
private static int getNum(File file) {
File[] arr = file.listFiles();
int count = 0;
if(arr != null) {
for (File f : arr) {
if(f.isFile()) {
if(f.getName().endsWith(".txt")) {
count++;
}
}else {
count = count + getNum(f);
}
}
}
return count;
}
}
|