Filter(过滤器)接口不能创建对象。
import java.io.*;
public class CSDN {
public static void main(String[] args) {
File file = new File("f:\\aa");
//目录或者文件是否存在 (并且) 是否为一个目录
if(file.exists() && file.isDirectory()) {
//定义一个数组 allFileNames = 列出file对象所有的子文件名和目录名
String []allFileNames = file.list();
//foreach循环展示所有文件
for(String name : allFileNames) {
System.out.println(name);}
}
//定义一个字符串数组 ,列出file 子文件名和路径名(FilenameFilter构造方法)
String []fileterFileNames = file.list(new FilenameFilter() {
创建FileNameFilter类型的匿名类,并作为参数传入到 List() 方法中
@Override
//FilenameFilter构造方法:
public boolean accept(File dir, String name) {
//对文件名进行过滤,文件名的后缀为.txt
return (name.endsWith(".txt"));
}
});
返回File对象所对应目录中满足制定过滤条件的文件名和子目录名 String[ ] list(FilenameFilter filter( ))
//过滤后的文件
for(String name:fileterFileNames) {
System.out.println(name);}
}
}
带FilenameFilter参数的list( )方法:
方法 | 功能描述 |
---|---|
String[ ] list(FIlenameFilter filter) | 返回File对象所对应目录满足过滤条件的文件名和子目录名 |
File[ ] listFiles(FilenameFilter filter) | 返回File对象所对应目录中满足指定过滤条件的文件和子目录 |