s-day08-过滤器的基本使用
This commit is contained in:
@@ -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");
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user