将一个文件夹中的所有含有某个后缀的文件写进一个文件里面

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);
	}
}

  

猜你喜欢

转载自www.cnblogs.com/WINDZLY/p/11823595.html