黑马程序员技术交流社区

标题: 求解答 [打印本页]

作者: 墨晓生    时间: 2016-9-9 22:07
标题: 求解答
.键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:"java","txt")作为key,
        用个数作为value,放入到map集合中,并用两种方式遍历map集合
        例如:
        doc 的类型的文件有  3 个
        java 的类型的文件有  5 个
        txt 的类型的文件有  7 个


作者: 墨晓生    时间: 2016-9-11 19:00
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);
                        }
                }
        }
}

作者: liyong2267576    时间: 2016-9-11 19:59
不懂                                                  
作者: double_x    时间: 2016-9-11 21:13
so  你这是求解答什么




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2