s-day08-过滤器的基本使用

This commit is contained in:
2026-08-09 15:04:37 +08:00
parent 5015c5835f
commit d724d8b1d8
2 changed files with 48 additions and 0 deletions
@@ -0,0 +1,31 @@
package com.inmind.filefilter03;
import java.io.File;
import java.util.Arrays;
/*
15.过滤器的基本使用
File[] listFiles(FileFilter filter) 返回一个抽象路径名数组,表示由此抽象路径名表示的满足指定过滤器的目录中的文件和目录。
FileFilter
boolean accept(File pathname) pathname是一个文件或者文件夹对象,它就是当前调用listFiles方法的文件夹中每个子元素,将它们
依次作为File对象,传入accept方法,执行代码,得到boolean的结果,如果是true则满足条件,放入返回值中File[],如果是false则过滤掉
过滤器的基本使用:
1.创建文件夹对象
2.定义一个自定义的文件过滤器实现类
3.调用listFiles(FileFilter filter)
//需求:将制定目录的一级子内容中,使用文件过滤,直接获取所有.txt文件
*/
public class Demo13 {
public static void main(String[] args) {
//1.创建文件夹对象
File file = new File("D:\\io_test");
//2.定义一个自定义的文件过滤器实现类
MyFileFilter myFileFilter = new MyFileFilter();
//3.调用listFiles(FileFilter filter)
File[] files = file.listFiles(myFileFilter);
System.out.println(Arrays.toString(files));
}
}
@@ -0,0 +1,17 @@
package com.inmind.filefilter03;
import java.io.File;
import java.io.FileFilter;
public class MyFileFilter implements FileFilter {
@Override
public boolean accept(File f) {
//业务操作是文件且以.txt结尾的,保留,否则过滤掉
/*if (f.isFile() && f.getName().endsWith(".txt")) {
return true;
} else {
return false;
}*/
return f.isFile() && f.getName().endsWith(".txt");
}
}