Java之文件过滤器
FileFilter
public interface **FileFilter**
用于抽象路径名的过滤器。
此接口的实例可传递给
File
类的listFiles(FileFilter)
方法。
方法:
accept
boolean accept(File pathname)
测试指定抽象路径名是否应该包含在某个路径名列表中。
参数:
pathname - 要测试的抽象路径名
返回:
当且仅当应该包含 pathname 时返回 true
实例:
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.util.List;
public class fileFilter {
public static void main(String[] args) {
File file1 = new File("../LearnJavaFile/src");
try {
System.out.println(file1.getCanonicalPath());
} catch (IOException e) {
e.printStackTrace();
}
File[] file_list = file1.listFiles(new FileFilter() {
@Override
/*
* File pathname 表示file1目录下的下一级的每一个文件或目录
*说明要保留的,方法返回true
*
* */
public boolean accept(File pathname) {
// return pathname.getName().endsWith(".java") || pathname.getName().endsWith(".txt");
return pathname.getName().length() >0;
// return pathname.getName().contains("File");
}
});
//使用文件过滤器
for (File f :file_list
) {
System.out.println(f);
}
}
}
结果:
…\LearnJavaFile\src\FileM
…\LearnJavaFile\src\GetFile_Messages.java