zoukankan      html  css  js  c++  java
  • 键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:"java","txt")作为key, 用个数作为value,放入到map集合中,遍历map集合

    package cn.it.zuoye5;

    import java.io.File;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    import java.util.Scanner;
    import java.util.Set;

    /*
    * 键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:"java","txt")作为key,
    用个数作为value,放入到map集合中,并用两种方式遍历map集合
    例如:
    doc 的类型的文件有 3 个
    java 的类型的文件有 5 个
    txt 的类型的文件有 7 个
    */
    public class text {
    public static Map<String,Integer> map;
    public static Integer txtNum;
    public static Integer javaNum;
     public static Integer docNum;
        public static void main(String[] args) {
               function();
              getPath();
              printMap();
        }
      /*
      * 初始化数据
      */
      public static void function() {
        map=new HashMap<String, Integer>();
        txtNum=0;
        javaNum=0;
        docNum=0;
        map.put("java", javaNum);
        map.put("doc", docNum);
        map.put("txt", txtNum);
      } 
      /*
      * 输入文件夹路径
      */
      public static void getPath() {
        Scanner scan=new Scanner(System.in);
        while(true) {
          System.out.println("请输入文件路径:");
          String path=scan.nextLine();
          File file=new File(path);
          if(! file.exists()) {
            System.out.println("文件夹不存在!");
            continue;
          }else {
            saveMap(file);
            System.out.println("存储完成!");
            break;
          }
      }
    }
    /*
    * 判断文件类型
    */
    public static void saveMap(File file) {
    File[] fileArr=file.listFiles();
    for(int i=0;i<fileArr.length;i++) {
    if(fileArr[i].isDirectory()) {
    saveMap(fileArr[i]);
    }
    if(fileArr[i].getAbsolutePath().endsWith("txt")) {
    txtNum+=1;
    map.put("txt", txtNum);
    }
    if(fileArr[i].getAbsolutePath().endsWith("java")) {
    javaNum+=1;
    map.put("java", javaNum);
    }
    if(fileArr[i].getAbsolutePath().endsWith("doc")) {
    docNum+=1;
    map.put("doc", docNum);
    }
    }
    }
    /*
    * 输出文件个数
    */
    public static void printMap() {
    Set<String> set=map.keySet();
    Iterator<String> it=set.iterator();
    while(it.hasNext()) {
    String s=it.next();
    System.out.println(s+"类型的文件个数有:"+map.get(s));
    }
    }

    }

  • 相关阅读:
    python学习笔记(五)
    python学习笔记(七)
    python小游戏——猜数字2.0
    python学习笔记(六)
    python小游戏——猜数字2.0
    python学习笔记(五)
    python中的in运算符
    python学习笔记(七)
    jmeter(4)响应断言 json断言 beanshell断言
    jmeter(2)几种不同的contenttype方式
  • 原文地址:https://www.cnblogs.com/zhilili/p/10670501.html
Copyright © 2011-2022 走看看