直接上代码:键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数

public static void main(String[] args) {
        File file = new File("E:\\download");
        MyFileTypeFilter filter = new MyFileTypeFilter();
        fun5(file,filter);
        System.out.println("doc 的类型的文件有:" + MyFileTypeFilter.docCount);
        System.out.println("java 的类型的文件有:" + MyFileTypeFilter.javaCount);
        System.out.println("txt 的类型的文件有:" + MyFileTypeFilter.txtCount);
        System.out.println("txt 的类型的文件有:" + MyFileTypeFilter.jpgCount);

}


   /**
     * 5.键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:"java","txt")作为key,
     * 	用个数作为value,放入到map集合中,并用两种方式遍历map集合
     * 	例如:
     * 	doc 的类型的文件有  3 个
     * 	java 的类型的文件有  5 个
     * 	txt 的类型的文件有  7 个
     */
    public static void fun5(File file , MyFileTypeFilter filter){
        File[] files = file.listFiles(filter);
        for (File f:
             files) {
            if (f.isDirectory()) {
                fun5(f,filter);
            }
        }
    }

// 文件类型过滤器类
public class MyFileTypeFilter implements FileFilter {

    public static int javaCount = 0;

    public static int docCount = 0;

    public static int txtCount = 0;

    public static int jpgCount = 0;
    @Override
    public boolean accept(File pathname) {
        String fileName = pathname.getName();
        if (fileName.endsWith(".java")) {
            javaCount = javaCount + 1;
        }
        if (fileName.endsWith(".txt")) {
            docCount = docCount + 1;
        }
        if (fileName.endsWith(".doc")) {
            txtCount = txtCount + 1;
        }
        if (fileName.endsWith(".jpg")) {
            jpgCount = jpgCount + 1;
        }

        return true;
    }


}

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值