diff --git a/javaSE-day08/src/com/inmind/filefilter03/Demo14.java b/javaSE-day08/src/com/inmind/filefilter03/Demo14.java new file mode 100644 index 0000000..628cef3 --- /dev/null +++ b/javaSE-day08/src/com/inmind/filefilter03/Demo14.java @@ -0,0 +1,36 @@ +package com.inmind.filefilter03; + +import java.io.File; +import java.io.FileFilter; + +/* +练习_打印指定D:\io_test目录下所有的txt文件(文件过滤器的方式) + */ +public class Demo14 { + 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(); + } + }); + + for (File f : files) { + if (f.isFile()) { + System.out.println(f.getName()); + } else { + getFiles(f); + } + } + } +}