题目描述:深度遍历指定目录及其子目录,统计各种文件格式的数量
- 例如:
- {css=192, xmind=45, def=5, py=1, bak=2, patch=1, BSD=5, exe=17}
import java.io.File;
import java.util.HashMap;
import java.util.Map;
public class Program018 {
public static void main(String[] args) {
String root = "C:\\Users\\乐\\MicrosoftEdgeBackups\\backups";
deepStatisticsFileType(new File(root));
System.out.println("结果为:"+resultMap);
}
private static Map<String,Integer> resultMap = new HashMap<String,Integer>();
public static void deepStatisticsFileType(File currentFile) {
File[] files=currentFile.listFiles();
for(File f:files) {
if(f.isFile()) {
String fileName=f.getName();
int beginIndex=fileName.lastIndexOf(".");
String sufix=beginIndex<0?"无格式文件":fileName.substring(beginIndex+1);
if(resultMap.containsKey(sufix)) {
int value=resultMap.get(sufix)+1;
resultMap.put(sufix, value);
}else {
resultMap.put(sufix, 1);
}
}else {
deepStatisticsFileType(f);
}
}
}
}