s-day08-过滤器优化之前的练习问题(lambda)
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
package com.inmind.digui02;
|
package com.inmind.digui02;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.FileFilter;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
练习_打印指定目录下所有的txt文件
|
练习_打印指定目录下所有的txt文件
|
||||||
@@ -8,14 +9,52 @@ import java.io.File;
|
|||||||
public class Test12 {
|
public class Test12 {
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
File file = new File("D:\\io_test");
|
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) {
|
public static void getFiles(File file) {
|
||||||
if (file.isFile()) {
|
if (file.isFile()) {
|
||||||
return;//文件就不用遍历
|
return;//文件就不用遍历
|
||||||
}
|
}
|
||||||
File[] files = file.listFiles();
|
File[] files = file.listFiles();//在此处使用文件过滤器来优化代码,将子内容中文件夹或者txt文件保留即可
|
||||||
for (File f : files) {
|
for (File f : files) {
|
||||||
if (f.isDirectory()) {
|
if (f.isDirectory()) {
|
||||||
getFiles(f);
|
getFiles(f);
|
||||||
|
|||||||
Reference in New Issue
Block a user