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