欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

键盘录入一个文件夹路径,统计该文件夹下的各种后缀名的文件的个数 例如:.txt有10个,.java有30个......

程序员文章站 2022-07-11 09:39:49
...

键盘录入一个文件夹路径,统计该文件夹下的各种后缀名的文件的个数
例如:.txt有10个,.java有30个…

package zuoye1105;

import java.io.File;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class Demo02 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);//从屏幕中读取路径
		String path = sc.nextLine();		
		File fe = new File(path);//创建File对象		
		Find(fe);
				
	}
	
	public static void Find(File f) {//创建方法
		
		Map<String, Integer> map = new HashMap<String, Integer>();//创建Map存后缀和个数
		
		String[] aa = f.list();//把f里所有文件放用list()放到aa数组里边
		
		for (int i = 0; i < aa.length; i++) {//遍历aa数组
			
		
			
			String[] b = aa[i].split("\\.");//将文件按“ . ” 进行分割放入数组b 若为文件 就有后缀,数组的长度就为2,若为文件夹,数组长度为1
			if (b.length>=2) {
				if(map.containsKey(b[1])) {//将后缀放入Map 并存入个数
					map.put(b[1], map.get(b[1])+1);
				}else {
					map.put(b[1],1);
				}
			}		
		}
			for(Map.Entry<String, Integer> m: map.entrySet()) {//遍历map
			System.out.println("."+m.getKey()+"有"+m.getValue()+"个");
			
		}
		
	}

}