进阶day08-文件过滤器-lambda改写

This commit is contained in:
2026-03-17 15:40:18 +08:00
parent 97a7740d27
commit f8e67a3277

View File

@@ -0,0 +1,42 @@
package com.inmind.filefilter03;
import java.io.File;
import java.io.FileFilter;
/*
使用lambda编写文件过滤器的实现
*/
public class Demo15 {
public static void main(String[] args) {
//创建父目录的File对象
File file = new File("D:\\io_test");
getFiles(file);
}
private static void getFiles(File file) {
if (file.exists() && file.isFile()) {
return;
}
//只需要获取.txt文件或者文件夹
/* File[] files = file.listFiles(new FileFilter() {
@Override
public boolean accept(File f) {
return (f.isFile() && f.getName().endsWith(".txt"))||f.isDirectory();
}
});*/
/*File[] files = file.listFiles((File f)->{
return (f.isFile() && f.getName().endsWith(".txt"))||f.isDirectory();
});*/
File[] files = file.listFiles(f-> (f.isFile() && f.getName().endsWith(".txt"))||f.isDirectory());
for (File f : files) {
if (f.isFile()) {
System.out.println(f.getName());
} else {
getFiles(f);
}
}
}
}