(File类、递归)Java写一个查找盘符内指定文件的代码,你可以试试!

我挑选出来我的D盘来查找一下D盘的文件,里面的代码文件不多(其他盘多,举例子就看这个吧!),里面有我写了很多的代码文件(.java),现在我们去查一下,编译后的.class文件有多少?如何去遍历D盘内所有的.class文件?又怎么把其他文件过滤掉呢?利用File类的知识,写一段小程序!

在这里插入图片描述


import java.io.File;
import java.io.FileFilter;

//遍历D盘下,所有.class为结尾的文件
public class TestShowAllFiles {
    static int count = 0;//.class文件计数器
    public static void main(String[] args) {
        File file = new File("D:\\");
        showAll(file);
        System.out.println("磁盘D中一共有" + count + "个.class类型文件!");
    }

    public static void showAll(File dir) {
        //匿名内部类
        File[] files = dir.listFiles(new FileFilter() {
            public boolean accept(File file) {
                if (file.isDirectory()) {//保存文件夹
                    return true;
                }
                if (file.isFile()) {//找.class后缀的文件
                    if (file.getName().endsWith(".class")) {
                        return true;
                    }
                }
                return false;
            }
        });
        if (files != null) {
            for (File f : files) {//循环遍历
                if (f.isFile()) {//是.class文件就打印
                    count++;//打印一个.class文件就自增一次(计.class文件个数)
                    System.out.println(f.getName());
                } else {
                    showAll(f);//利用递归,如果是文件夹,进入该文件夹再次寻找.class文件,过滤其他文件
                }
            }
        }
    }
}

遍历出来的文件就不给你们看了,就贴一下.class文件吧!
在这里插入图片描述

发布了112 篇原创文章 · 获赞 172 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/weixin_44170221/article/details/104928583