diff --git a/javaSE-day08/src/com/inmind/filefilter03/Demo15.java b/javaSE-day08/src/com/inmind/filefilter03/Demo15.java new file mode 100644 index 0000000..8ead275 --- /dev/null +++ b/javaSE-day08/src/com/inmind/filefilter03/Demo15.java @@ -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); + } + } + } +}