进阶day08-文件过滤器的基本使用

This commit is contained in:
2026-03-17 14:57:11 +08:00
parent 5228f223fd
commit 0915fb7839
2 changed files with 48 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
package com.inmind.filefilter03;
import java.io.File;
/*
文件过滤器的基本使用
1.文件过滤器的相关的api:
File[] listFiles(FileFilter filter) 返回一个抽象路径名数组,表示由此抽象路径名表示的满足指定过滤器的目录中的文件和目录。
2.@FunctionalInterface
public interface FileFilter
抽象方法的介绍:
boolean accept(File pathname)中的参数pathname是一个文件或者文件夹对象它就是当前调用listFiles方法的文件夹中的每个子元素
每个子元素会依次进入到accept方法中执行得到结果如果结果是true就保存在返回值File[] )中,否则就直接过滤掉。
3.过滤器的基本使用步骤:
1.创建一个文件夹对象
2.先定义一个符合业务的文件过滤器实现类
3.调用listFiles(FileFilter filter)
需求:将指定的目录中的一级子内容中,使用文件过滤器,直接获取到一级目录的.txt后缀的文件
*/
public class FileFilterDemo13 {
public static void main(String[] args) {
//1.创建一个文件夹对象
File file = new File("D:\\io_test");
//2.先定义一个符合业务的文件过滤器实现类
FileFilterImpl fileFilter = new FileFilterImpl();
//3.调用listFiles(FileFilter filter)
File[] files = file.listFiles(fileFilter);
for (File f : files) {
System.out.println(f.getName());
}
}
}

View File

@@ -0,0 +1,11 @@
package com.inmind.filefilter03;
import java.io.File;
import java.io.FileFilter;
//文件过滤器的目标:目录的.txt后缀的文件
public class FileFilterImpl implements FileFilter {
@Override
public boolean accept(File f) {
return f.isFile() && f.getName().endsWith(".txt");
}
}