如何把一个目录下的所有文件,合并成一个文件
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;
}
}
