import java.io.File;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
/*
* 统计一个文件夹中每种文件的个数并打印
打印格式如下:
txt:3个
doc:4个
jpg:6个
* */
public class AnLi {
public static void main(String[] args) {
File f = new File("D:\\代码04");
Map<String,Integer> m = new HashMap<>();
File[] fArr = f.listFiles();
//遍历文件数组获取出数组内部所有数据
for (File file : fArr){
//如果获取到的是文件,那么在进行分割
if (file.isFile()){
//获取文件名
String fileName = file.getName();
String[] sArr = fileName.split("\\.");
//因为分割完成后都是只有两个索引的数值,因此最后一个就是后缀
String houZhui = sArr[sArr.length-1];
//使用map集合进行计数
if (m.containsKey(houZhui)){
m.put(houZhui,m.get(houZhui)+1);
}else {
m.put(houZhui,1);
}
}
}
Set<String> s = m.keySet();
for (String key : s) {
System.out.println(key + ":" + m.get(key) + "个");
}
}
}
05-12
952
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)