zoukankan      html  css  js  c++  java
  • Java之FilenameFilter接口

    FilenameFilter接口:是用于过滤文件的

    要实现的是accept方法
    

    实例代码:

    1,匿名类实现FilenameFilter—–过滤指定类型文件

    package File类过滤器;
    
    import java.io.File;
    import java.io.FilenameFilter;
    
    public class Test {
        public static void main(String[] args){
            File file=new File("D:\练习");
            File[] files=file.listFiles();
    
            //过滤前所有文件信息
            for(File file2:files){
                System.out.println(file2);
            }
    
            //现在要求过滤.txt为后缀的文件
            //使用匿名函数写过滤器
            System.out.println();
            System.out.println("过滤后的文件遍历结果:");
            File[] files2=file.listFiles(new FilenameFilter() {
                //想要保存的文件则,return true;反之return false
                @Override
                public boolean accept(File dir, String name) {
                    File[] files=dir.listFiles();
                    if(name.endsWith(".txt")){
                        return false;
                    }
                    return true;
                }
            });
            for(File file2:files2){
                System.out.println(file2);
            }
    
        }
    }
    

    运行结果
    这里写图片描述

    2,创建过滤类—-过滤文件夹

    过滤类

    package File类过滤器;
    
    import java.io.File;
    import java.io.FilenameFilter;
    
    public class MyFilenameFilter implements FilenameFilter {
    
        @Override
        public boolean accept(File dir, String name) {
            //过滤文件夹
            File file=new File(dir,name);
            if(file.isDirectory()){
                return false;
            }
    
            return true;
        }
    
    }
    

    测试:

    package File类过滤器;
    
    import java.io.File;
    
    public class Test2 {
        public static void main(String[] args) {
            File file=new File("D:\练习");
            //过滤前所有文件
            File[] files=file.listFiles();
            for (File file2 : files) {
                System.out.println(file2);
            }
    
            //过滤:文件夹,后的结果
            System.out.println();
            System.out.println("过滤:文件夹,后的结果:");
            File[] files2=file.listFiles(new MyFilenameFilter());
            for (File file2 : files2) {
                System.out.println(file2);
            }
        }
    }
    

    运行结果:
    这里写图片描述

  • 相关阅读:
    20162302预备作业02
    20162302预备作业01
    设计模式第二次作业
    设计模式第一次作业
    项目选题报告(团队)
    高级软件工程结对第二次作业
    高级软件工程团队第一次作业
    高级软件工程结对第一次作业
    高级软件工程第二次作业
    高级软件工程第一次作业--准备
  • 原文地址:https://www.cnblogs.com/TCB-Java/p/6797641.html
Copyright © 2011-2022 走看看