码迷,mamicode.com
首页 > 其他好文 > 详细

45、文件过滤器FilenameFilter

时间:2018-12-19 21:05:42      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:lte   style   筛选条件   bool   amp   tao   pack   []   system   

文件过滤器FilenameFilter

JDK中提供了一个FilenameFilter的接口用来实现文件过滤功能,可以使用这个文件过滤器来实现上一节中的问题。

File类中有一个带参数的list方法

public String[] list(FilenameFilter filter)

上面的方法中接收FilenameFilter对象,FilenameFilter是一个接口,里面有一个方法

boolean accept(File dir, String name);

要想使用文件过滤器的话需要重写这个accept方法,在方法里面编写过滤条件,这里接收两个参数,dir就是当前调用这个list方法的File对象,name是这个方法的文件名。

下面是使用FilenameFilter来实现统计项目根目录下以.txt结尾的文件数量,并将文件名打印出来。

package com.sutaoyu.file;

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

public class test_5 {
    public static void main(String[] args) {
        File file = new File("D:\\java\\Eclipse\\chapter-08\\files\\");
        String[] nameArray = file.list(new FilenameFilter() {
            public boolean accept(File dir,String name) {
                //获取根目录下每个文件的File对象
                File file1 = new File(dir,name);
                //编写筛选条件
                return file1.isFile() && file1.getName().endsWith(".txt");
            }
        });
        
        System.out.println("以.txt结尾的文件个数是" + nameArray.length + "个");

        for(String name : nameArray){
            System.out.println(name);
        }
        
    }
}

 

45、文件过滤器FilenameFilter

标签:lte   style   筛选条件   bool   amp   tao   pack   []   system   

原文地址:https://www.cnblogs.com/zhuifeng-mayi/p/10145448.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!