package cn; import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class File05 { public static Map<String, List<String>> map=new HashMap<>(); public static void main(String[] args) { count(System.getProperty("user.dir")); // System.out.println(map); map.forEach((k,v) -> System.out.printf("%s= %d %n %s %n",k,v.size(),v)); } public static void count(String c){ count(new File(c)); } public static void count(File f){ if(f.isDirectory()) { for (File t:f.listFiles()) { if(t.isDirectory()){ count(t); }else{ String s=t.getName(); String v=s.lastIndexOf(".")==-1 ?"未知":s.substring(s.lastIndexOf(".")+1); if(map.containsKey(v)){ // map.put(v,map.get(v)+1); List<String> list=map.get(v); list.add(t.getAbsolutePath()); map.put(v,list); }else { // map.put(v,1); List<String> list=new ArrayList<>(); list.add(t.getAbsolutePath()); map.put(v,list); } } } } } }