如何把一个目录下的所有文件,合并成一个文件

3,159 阅读

下面程序是要读某一目录下面的所有.txt文件,并把所有文件都写入一个.txt之中。

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.List;


public class TextConbine {
	public static void main(String[] args) throws IOException{
		BufferedWriter writer = new BufferedWriter( new OutputStreamWriter( new FileOutputStream(new File("D:\\钱洋个人\\学术中心\\数据处理\\user_content_qianyang_split.txt")),"utf-8"));
		String filePath = "D:/钱洋个人/学术中心/数据处理/文本分词2";
		List<string> fileList = new ArrayList<string>();
		fileList= getFiles(filePath);
		for (String file:fileList) {
			BufferedReader reader = new BufferedReader( new InputStreamReader( new FileInputStream( new File(file)),"utf-8"));
			String s=null;
			while ((s=reader.readLine())!=null) {
				writer.append(s);
			}
		}

		writer.close();
	}
	static List<string> getFiles( String filePath )
	{
		List<string> filelist = new ArrayList<string>();
		File root = new File( filePath );
		File[] files = root.listFiles();
		for ( File file : files )
		{
			if ( file.isDirectory() )
			{
				getFiles( file.getAbsolutePath() );
				filelist.add( file.getAbsolutePath() );
				//System.out.println( "显示" + filePath + "下所有子目录及其文件" + file.getAbsolutePath() );
			}else{
				filelist.add( file.getAbsolutePath() );
				//System.out.println("显示" + filePath + "下所有子目录" + file.getAbsolutePath() );
			}
		}
		return filelist;
	}

}

DataLearner 官方微信

欢迎关注 DataLearner 官方微信,获得最新 AI 技术推送

DataLearner 官方微信二维码