• 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);
            }
            
        }
    }
  • 相关阅读:
    房价
    Jsrender初体验
    GCD XOR UVA
    GCD
    Aladdin and the Flying Carpet LightOJ
    HDU6035 2017多校第一场1003 树形DP
    F
    C
    B
    An Easy Physics Problem HDU
  • 原文地址:https://www.cnblogs.com/zhuifeng-mayi/p/10145448.html
Copyright © 2020-2023  润新知