FileFilter 过滤文件

复制代码
package Thread_01;

import java.io.File;
import java.io.IOException;

/**
 * @author ZziQon
 *
 */
public class main {
    public static void main(String[] args) throws IOException {
        File dir = new File("C:\\Users\\1\\Desktop\\.vs");
        getDirs(dir);
    }

    // 参数传递File类型的目录
    public static void getDirs(File dir) {
        // System.out.println(dir);
        // File[] files = dir.listFiles(new FileFilterImp1());// 传递过滤器对象
        // File[] files = dir.listFiles(new FileFilter() {//使用匿名内部类
        //
        // @Override
        // public boolean accept(File pathname) {
        // // TODO Auto-generated method stub
        // return pathname.isDirectory() ||
        // pathname.getName().toLowerCase().endsWith("json");
        // /*Filename使用
        // *return new
        // File(dir,name).isDirectory()||name.toLowerCase().endsWith(".json");
        // */
        // }
        // });
        // Lambada表达式
        File[] files = dir
                .listFiles((d, name) -> new File(d, name).isDirectory() || name.toLowerCase().endsWith(".json"));
        /*
         * 1.ListFiles会先把传递的目录进行遍历后的结果封装为File对象
         * 2.之后若返回True,则会把这些对象一一传递给过滤器accept方法的参数pathname
         */
        for (File f : files) {
            if (f.isDirectory()) {// 判断是否为文件夹
                getDirs(f);
            } else {
                System.out.println(f);
            }
        }
    }
}
复制代码

 

posted @   KeepSmiling_me  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示