File小练习之文件统计
程序员文章站
2022-03-05 13:10:39
...
package com.itheima.count_file;
import java.io.File;
import java.util.HashMap;
import java.util.Map;
/**
* @Auther: YeJunli
* @Date: 2021/8/27 - 08 - 27 - 21:58
* @Description:
* @version: 1.0
*/
public class CountFile07 {
public static void main(String[] args) {
//统计E:\FileDeleteTest目录下的每种文件类型的个数(带两个.及更多的.的文件或者没有.的文件不统计)
File file = new File("E:\\FileDeleteTest");
HashMap<String, Integer> hm = new HashMap<>();
//调用方法
getCount(hm,file);
System.out.println(hm);
}
private static void getCount(HashMap<String, Integer> hm, File file) {
File[] files = file.listFiles();
//遍历
for (File f : files) {
if (f.isFile()) {
String fName = f.getName();
String[] fNameArr = fName.split("\\.");
if (fNameArr.length == 2) {
String fEndName = fNameArr[1];
if (hm.containsKey(fEndName)) {
//已经存在
//将已经出现的次数获取出来
Integer count = hm.get(fEndName);
//这种文件又出现了
count++;
hm.put(fEndName, count);
} else {
//不存在
//表示当前文件第一次出现
hm.put(fEndName, 1);
}
}
} else {
getCount(hm, f);
}
}
}
}
上一篇: shell脚本编程-循环(for循环