s-day08-过滤器优化之前的练习问题(lambda)
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user