博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
45、文件过滤器FilenameFilter
阅读量:6849 次
发布时间:2019-06-26

本文共 1143 字,大约阅读时间需要 3 分钟。

文件过滤器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);        }            }}

 

转载于:https://www.cnblogs.com/zhuifeng-mayi/p/10145448.html

你可能感兴趣的文章
提高用户体验方式:饥饿营销
查看>>
Java8中的LocalDateTime工具类
查看>>
Exchange 2013 PowerShell创建自定义对象
查看>>
RAID-10 阵列的创建(软)
查看>>
javaScript的调试(四)
查看>>
nginx不使用正则表达式匹配
查看>>
dell台式机双SATA硬盘开机提示NO boot device available- Strike F1 to retryboot .F2
查看>>
linux下mysql的卸载、安装全过程
查看>>
samba不需密碼的分享
查看>>
利用putty进行vnc + ssh tunneling登录
查看>>
js重定向---实现页面跳转的几种方式
查看>>
hadoop1.x作业提交过程分析(源码分析第二篇)
查看>>
默认安装vsftpd后
查看>>
极速理解设计模式系列:14.轻量级模式(Flyweight Pattern)
查看>>
深度有趣 | 12 一起来动动手
查看>>
相关算法排序安排
查看>>
css的bug:
查看>>
《Redis设计与实现》读书笔记
查看>>
waiting for changelog lock.
查看>>
小白学爬虫-批量部署Splash负载集群
查看>>