zoukankan      html  css  js  c++  java
  • java中过滤查询文件

     需求,过滤出C盘demo目录下 所有以.java的文件不区分大小写

    通过实现FileFilter接口 定义过滤规则,然后将这个实现类对象传给ListFiles方法作为参数即可。

    使用递归方法实现

    package demo03;
    /**
      * 写一个实现FileFilter的类,定义过滤规则
      */
    import java.io.File;
    import java.io.FileFilter;
    
    public class MyFilter implements FileFilter {
    
        @Override
        public boolean accept(File pathname) {
            if(pathname.isDirectory())
                return true;
            return pathname.getName().toLowerCase().endsWith(".java");
        }
    
    }
    package demo03;
    
    import java.io.File;
    
    /*
     * 遍历目录,获取目录下的所有.java文件
     * 遍历多级目录,方法递归实现
     * 遍历的过程中,使用过滤器
     */
    public class FileDemo1 {
        public static void main(String[] args) {
            File file=new File("c:\demo");
            getAllJava(file);
        }
        
        /**
         * 定义方法,实现遍历指定目录
         * 获取目录中所有的.java文件
         */
        public static void getAllJava(File dir){
            //System.out.println(dir);
            //调用File对象方法listFiles()获取,加入过滤器
            File[] fileArr=dir.listFiles(new MyFilter());
            for(File f:fileArr){
                if(f.isDirectory()){
                    //递归进入文件夹遍历
                    getAllJava(f);                
                }else{
                    System.out.println(f);
                }
            }
        }
    }

  • 相关阅读:
    简单小巧的跨平台共享内存代码
    调试发行版程序 (二)
    休息日公园独步偶得
    Minimum Depth of Binary Tree
    LeetCode Length of Last word
    黑书 折纸痕 uva 177
    Palindrome Partitioning II leetcode
    Acumem ThreadSpotter
    C++ string int 转换 split
    Valid Palindrome Leetcode
  • 原文地址:https://www.cnblogs.com/benjamin77/p/9127362.html
Copyright © 2011-2022 走看看