zoukankan      html  css  js  c++  java
  • 45、文件过滤器FilenameFilter

    文件过滤器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);
            }
            
        }
    }
  • 相关阅读:
    [c language] getopt
    编程经典问题
    一些常用的正则表达式
    [Head First Python]6. summary
    Java多线程
    JVM运行原理
    Struts2---自定义拦截器
    SpringMVC框架初步
    测试基本问题
    自动化测试
  • 原文地址:https://www.cnblogs.com/zhuifeng-mayi/p/10145448.html
Copyright © 2011-2022 走看看