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);
            }
        }
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM