s-day08-过滤器优化之前的练习问题(lambda)

This commit is contained in:
2026-08-09 15:14:27 +08:00
parent d724d8b1d8
commit 81b0a7d524
+41 -2
View File
@@ -1,6 +1,7 @@
package com.inmind.digui02;
import java.io.File;
import java.io.FileFilter;
/*
练习_打印指定目录下所有的txt文件
@@ -8,14 +9,52 @@ import java.io.File;
public class Test12 {
public static void main(String[] args) {
File file = new File("D:\\io_test");
getFiles(file);
// getFiles(file);
// getFilesByFilter(file);
lambdaFilesByFilter(file);
}
public static void lambdaFilesByFilter(File file) {
if (file.isFile()) {
return;//文件就不用遍历
}
File[] files = file.listFiles(f->f.isDirectory()||(f.isFile()&&f.getName().endsWith(".txt")));//在此处使用文件过滤器来优化代码,将子内容中文件夹或者txt文件保留即可
for (File f : files) {
if (f.isDirectory()) {
getFiles(f);
} else {
System.out.println(f.getName());
}
}
}
public static void getFilesByFilter(File file) {
if (file.isFile()) {
return;//文件就不用遍历
}
File[] files = file.listFiles(new FileFilter() {
@Override
public boolean accept(File f) {
return f.isDirectory()||(f.isFile()&&f.getName().endsWith(".txt"));
}
});//在此处使用文件过滤器来优化代码,将子内容中文件夹或者txt文件保留即可
for (File f : files) {
if (f.isDirectory()) {
getFiles(f);
} else {
System.out.println(f.getName());
}
}
}
public static void getFiles(File file) {
if (file.isFile()) {
return;//文件就不用遍历
}
File[] files = file.listFiles();
File[] files = file.listFiles();//在此处使用文件过滤器来优化代码,将子内容中文件夹或者txt文件保留即可
for (File f : files) {
if (f.isDirectory()) {
getFiles(f);