进阶day08-文件过滤器的基本使用
This commit is contained in:
@@ -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());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
11
javaSE-day08/src/com/inmind/filefilter03/FileFilterImpl.java
Normal file
11
javaSE-day08/src/com/inmind/filefilter03/FileFilterImpl.java
Normal 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");
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user