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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 墨晓生 中级黑马   /  2016-9-9 22:07  /  1493 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

.键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:"java","txt")作为key,
        用个数作为value,放入到map集合中,并用两种方式遍历map集合
        例如:
        doc 的类型的文件有  3 个
        java 的类型的文件有  5 个
        txt 的类型的文件有  7 个

3 个回复

倒序浏览
public class Demo {
        static HashMap<String, Integer> hm = new HashMap<>();
        public static void main(String[] args) {
               
                File dir = getDir();
               
                getDirCount(dir);
               
                for (String key : hm.keySet()) {
                        System.out.println(key + " 的类型的文件有  " + hm.get(key) + " 个");
                }
        }public static File getDir() {
                System.out.println("输入一个文件夹路径");
                String line = new Scanner(System.in).nextLine();
                while (true) {
                        File dir = new File(line);
                        if (!dir.isDirectory()) {
                                System.out.println("不正确,重新输入");
                        } else {
                                return dir;
                        }
                }
                }
       
       
        public static void getDirCount(File dir) {
               
                File[] subFiles = dir.listFiles();
                for (File subFile : subFiles) {
                        if (subFile.isFile()) {
                               
                                String name = subFile.getName();
                                String ext = name.substring(name.lastIndexOf(".") + 1);
                                hm.put(ext, hm.containsKey(ext) ? hm.get(ext) + 1 : 1);
                        } else {
                       
                                getDirCount(subFile);
                        }
                }
        }
}
回复 使用道具 举报 1 0
不懂                                                  
回复 使用道具 举报
so  你这是求解答什么
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马