package test; import java.io.*; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.*; import java.util.zip.InflaterInputStream; import javax.annotation.processing.FilerException; import javax.management.RuntimeErrorException; import privateclass.Filterby_Name; import privateclass.Filterby_hidden; import privateclass.Filterby_java; import privateclass.MyBufferedReader; public class Main { private static final String space_operator = " "; private static final double pi = Math.PI; private static final String LINE_SEPARATOR = System.getProperty("line.separator"); public static void main(String[] args) throws Exception { /* *找出文件夹中是java后缀的文件,并将文件存入到Myjava里面 */ List<File> list = new ArrayList<File>(); //注意这个需要自己创建一个过滤器 Filterby_Name filterby_Name = new Filterby_Name(".txt"); FilenameFilter filter = new FilenameFilter() { @Override public boolean accept(File dir, String name) { // TODO Auto-generated method stub return name.endsWith(".java"); } }; File file = new File("D:\java总结"); File endFile = new File("Mytxt.txt"); dfsall(file, filterby_Name, list); writetoMyjava(list,endFile); } /** * 深层遍历一个文件夹 * 将文件夹中java文件写进list里面 * @param list * @param endFile * @throws IOException */ public static void writetoMyjava(List<File> list,File endFile) throws IOException { BufferedWriter bfw = new BufferedWriter(new FileWriter(endFile)); for(File file : list) { bfw.write(file.getAbsolutePath()); bfw.newLine(); bfw.flush(); } bfw.close(); } /** * 将list里面的java文件直接传送给Filewriter * 读进自己想要存进的文件中去 * @param dir * @param filter * @param list */ public static void dfsall(File dir,FilenameFilter filter,List<File> list) { for(File file : dir.listFiles()) { if(file.isDirectory()) { dfsall(file, filter, list); } else { if(filter.accept(file, file.getName())) { list.add(file); } } } } } 过滤器 package privateclass; import java.io.File; import java.io.FilenameFilter; public class Filterby_Name implements FilenameFilter { private String suffix; public Filterby_Name(String suffix) { super(); this.suffix = suffix; } @Override public boolean accept(File dir, String name) { return name.endsWith(suffix); } }