제목 설명 : 지정된 디렉토리와 하위 디렉토리를 자세히 탐색하고 다양한 파일 형식의 수를 계산합니다.
- 예 :
- {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);
}
}
}
}