1. 程式人生 > >File類的檔案型別數量統計

File類的檔案型別數量統計

需求:
/*
 * 輸入一個資料夾路徑 用map記錄檔案型別出現的次數
 * 
 * txt 數量
 * java 數量
 * png  數量
 * ....
 */
import java.io.File;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Set;
public class Kll {
    public static void main(String[] args) {
        // 建立map物件
        HashMap<String, Integer> map = new
HashMap<>(); // 建立檔案物件 File file = new File("/Users/lanou/Desktop/Test"); getMap(file, map); System.out.println(map); } // 獲取型別並裝入集合的方法 public static void getMap(File file, HashMap<String, Integer> map) { // 獲取給出目錄下的一級目錄檔案 File[] files = file.listFiles(); // 遍歷檔案陣列
for (File subFile : files) { // 判斷 if (subFile.isFile()) { // 是檔案 // 獲取名字並按點切割 String[] split = subFile.getName().split("\\."); // 最後一個元素是檔案型別,也是map的key值 String key = split[split.length - 1]; // 判斷檔案型別是否包含在map中
if (map.containsKey(key)) { // 包含時,取出加一 Integer value = map.get(key); value++; // 再放回map中 map.put(key, value); }else { // 不包含時,放入 map.put(key, 1); } }else { // 是資料夾,遞迴呼叫 getMap(subFile, map); } } } }

執行結果:這裡寫圖片描述