Java之文件过滤器

Java之文件过滤器

FileFilter

public interface **FileFilter**

用于抽象路径名的过滤器。

此接口的实例可传递给 File 类的 listFiles(FileFilter) 方法。

方法:

accept

boolean accept(File pathname)

测试指定抽象路径名是否应该包含在某个路径名列表中。

参数:
pathname - 要测试的抽象路径名
返回:
当且仅当应该包含 pathname 时返回 true

实例:

import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.util.List;

public class fileFilter {
    
    

    public static void main(String[] args) {
    
    
        File file1 = new File("../LearnJavaFile/src");
        try {
    
    
            System.out.println(file1.getCanonicalPath());
        } catch (IOException e) {
    
    
            e.printStackTrace();
        }
        File[] file_list = file1.listFiles(new FileFilter() {
    
    
            @Override
            /*
            * File pathname 表示file1目录下的下一级的每一个文件或目录
            *说明要保留的,方法返回true
            *
            * */
            public boolean accept(File pathname) {
    
    
//                return pathname.getName().endsWith(".java") || pathname.getName().endsWith(".txt");
                return  pathname.getName().length() >0;
//                return pathname.getName().contains("File");
            }
        });
        //使用文件过滤器
        for (File f :file_list
                ) {
    
    
            System.out.println(f);
        }
    }
}

结果:

…\LearnJavaFile\src\FileM
…\LearnJavaFile\src\GetFile_Messages.java

猜你喜欢

转载自blog.csdn.net/weixin_45729594/article/details/109102514