FileFilter 过滤文件
package Thread_01; import java.io.File; import java.io.IOException; /** * @author ZziQon * */ public class main { public static void main(String[] args) throws IOException { File dir = new File("C:\\Users\\1\\Desktop\\.vs"); getDirs(dir); } // 参数传递File类型的目录 public static void getDirs(File dir) { // System.out.println(dir); // File[] files = dir.listFiles(new FileFilterImp1());// 传递过滤器对象 // File[] files = dir.listFiles(new FileFilter() {//使用匿名内部类 // // @Override // public boolean accept(File pathname) { // // TODO Auto-generated method stub // return pathname.isDirectory() || // pathname.getName().toLowerCase().endsWith("json"); // /*Filename使用 // *return new // File(dir,name).isDirectory()||name.toLowerCase().endsWith(".json"); // */ // } // }); // Lambada表达式 File[] files = dir .listFiles((d, name) -> new File(d, name).isDirectory() || name.toLowerCase().endsWith(".json")); /* * 1.ListFiles会先把传递的目录进行遍历后的结果封装为File对象 * 2.之后若返回True,则会把这些对象一一传递给过滤器accept方法的参数pathname */ for (File f : files) { if (f.isDirectory()) {// 判断是否为文件夹 getDirs(f); } else { System.out.println(f); } } } }
我只想安静地学习,捡拾前人的牙慧,默默强大如此弱小的我...

浙公网安备 33010602011771号