醒的学习:](https://mp.csdn.net/mp_blog/manage/article?spm=1011.2124.3001.5298)## 文件过滤器 和普通
- 输入文件夹判断如果是.java输入绝对路径
package work01.dome01;
import java.io.File;
import java.util.Scanner;
public class Test03 {
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
File f = asdf();
//判断这个文件是否包含.java文件 包含输出
pd(f);
}
private static void pd(File f) {
File[] files = f.listFiles();
for (File file : files) {
if (file.isFile()&&file.getName().endsWith(".java")){
System.out.println(file.getName()+"的绝对路径:"+file.getAbsolutePath());
}else if (file.isDirectory()){
pd(file);//递归
}
}
}
public static File asdf(){
while (true){
System.out.println("输入一个路径:");
String s = sc.next();
File file = new File(s);
if (!file.exists()){
System.out.println("不存在!!");
}else if (file.isFile()){
System.out.println("是文件路径不是文件夹,请输入一个文件夹");
}else {
return file;
}
}
}
}
-过滤器过滤 lambd优化 和 匿名对象
package work01.dome01;
import java.io.File;
import java.io.FileFilter;
public class Test04 {
public static void main(String[] args) {
//文件过滤器优化分析
File f = new File("img2\\");
pd(f);
}
public static void pd(File f){
File[] files = f.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
return pathname.getName().endsWith(".java")||pathname.isDirectory();
}
});
for (File file : files) {
if (file.isFile()){
System.out.println("文件夹名:"+file.getAbsolutePath());
}else {
pd(file);
}
}
}
}
package work01.dome01;
import java.io.File;
import java.io.FileFilter;
public class Test05 {
public static void main(String[] args) {
//文件过滤器优化分析
File f = new File("img2\\");
pd(f);
}
public static void pd(File f){
File[] files = f.listFiles((File pathname)-> {
return pathname.getName().endsWith(".java")||pathname.isDirectory();
}
);
for (File file : files) {
if (file.isFile()){
System.out.println("文件夹名:"+file.getAbsolutePath());
}else {
pd(file);
}
}
}
}