A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

public class Demo5 {
        public static void main(String[] args) {
                System.out.println("输入路径");
                File file=new File(new Scanner(System.in).next());
                Map<String,Integer> map=new HashMap<String, Integer>();
                getFileKindAndNumberIntoMap(map,file);
                System.out.println(map);
        }
        /*
         * 5.键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,
         *         注意:用文件类型(后缀名,不包含.(点),如:"java","txt")作为key,
                        用个数作为value,放入到map集合中,并用两种方式遍历map集合
                                例如:
                                doc 的类型的文件有  3 个
                                java 的类型的文件有  5 个
                                txt 的类型的文件有  7 个
         */
        public static void getFileKindAndNumberIntoMap(Map<String,Integer> map,File file){
                File[] fileArr=file.listFiles();
                for (File f : fileArr) {
                        if(f.isDirectory() && !f.isHidden()){
                                getFileKindAndNumberIntoMap(map,f);
                        }else{
                                String s=f.getName().toString();
                                String[] sArr=s.split("\\.");
                                s=sArr[sArr.length-1];
                                if(!map.containsKey(s)){
                                        map.put(s, 1);
                                }else{
                                        map.put(s, 1+map.get(s));
                                }
                               
                        }
                               
                }
        }
}

2 个回复

正序浏览
回复 使用道具 举报
可以,共同学习!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马