FilenameFilter接口 --文件過濾

import java.io.File;
import java.io.FilenameFilter;


public class A {

    public static void main(String[] args) {
         File file = new File("E:/workspace/aaa/src");

         File[] listFiles = file.listFiles(new MyFileter());

         for(File f : listFiles){
             System.out.println(f.getName());
         }
    }

    static class MyFileter implements FilenameFilter {

        @Override
        public boolean accept(File file, String filename) {
            if (filename != null && filename.toLowerCase().endsWith(".java")) {
                return true;
            } else {
                return false;
            }
        }

    }
}

[JavaSE8基礎 File FilenameFilter 篩選出指定后綴名的文件]

package jizuiku0;
 
import java.io.File;
import java.io.FilenameFilter;
 
/*
 * @version V17.09
 */
public class Filter {
    public static void main(String[] args) {
 
        // 找到E:\迅雷下載\下載合集中文件名以.xlsx結尾的文件
        String pathname = "E:\\迅雷下載\\下載合集";
        File file = new File(pathname);
 
        // 因為這里只篩選文件的名字,所以使用FilenameFilter接口
        // 使用匿名類
        // filesName中都是符合條件的文件的名字
        String[] filesName = file.list(new FilenameFilter() {
 
            // 這個函數(shù)是用來判斷的
            @Override
            public boolean accept(File dir, String name) {
                // TODO Auto-generated method stub
                // dir -> E:\迅雷下載\下載合集
                // name -> dir下 文件夾和文件的名字
                System.out.println(dir + "---" + name);
 
                // 是文件 并且 文件名以.xlsx結尾
                return new File(dir, name).isFile() && name.endsWith(".xlsx");
            }
        });// 這里的分號容易被忘記
 
        System.out.println("\n以.xlsx結尾的文件:");
        // 遍歷
        for (String name : filesName) {
            System.out.println(name);
        }
    }
}
image.png

list()方法源碼

public String[] list(FilenameFilter filter) {
    String names[] = list();
    if ((names == null) || (filter == null)) {
        return names;
    }
    List<String> v = new ArrayList<>();
    for (int i = 0 ; i < names.length ; i++) {
        if (filter.accept(this, names[i])) {
            v.add(names[i]);
        }
    }
    return v.toArray(new String[v.size()]);
}
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,564評論 19 139
  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,714評論 0 5
  • 心理規(guī)律一 :羅森塔爾效應 美國著名的心理學家羅森塔爾曾做過這樣一個試驗: 他把一群小白鼠隨機地分成兩組:A組和B...
    孔亞囡閱讀 476評論 0 0
  • 你,著銀鱗鐵甲,吐百米長信,食山之精華,采日月靈氣。寂靜山林,蜿蜒前行,如雪的身軀滑過,那耀眼的光芒,照亮了靜默的...
    明_霓閱讀 2,901評論 5 509
  • 1 暑假前不久的一天,姐姐小曦放學后因為課堂作業(yè)沒有完成,被留堂一個小時:本該4:30放學的她,一直到5:30左右...
    諾曦媽媽閱讀 5,532評論 48 64

友情鏈接更多精彩內(nèi)容