java 合并多个文件_如何用Java合并文件?

我经常需要用Java将多个文件合并为一个文件。因此,我编写了一种可重用的方法来完成这项工作。对我来说,合并一组txt文件非常有效。

该方法接受File数组和合并的文件路径。运行该方法后,要合并的文件集将被合并到指定的文件中。

packagecom.programcreek;

importjava.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileWriter;import java.io.IOException;import java.io.InputStreamReader;

publicclassMergerFiles {

publicstaticvoidmain(String[] args) {

String sourceFile1Path = "/home/programcreek/Desktop/s1";

String sourceFile2Path = "/home/programcreek/Desktop/s2";

String mergedFilePath = "/home/programcreek/Desktop/m";

File[] files = newFile[2];

files[0] = newFile(sourceFile1Path);

files[1] = newFile(sourceFile2Path);

File mergedFile = newFile(mergedFilePath);

mergeFiles(files, mergedFile);

}

publicstaticvoidmergeFiles(File[] files, File mergedFile) {

FileWriter fstream = null;

BufferedWriter out = null;

try{

fstream = newFileWriter(mergedFile, true);

out = new BufferedWriter(fstream);

} catch(IOException e1) {

e1.printStackTrace();

for(File f : files) {

System.out.println("merging: " + f.getName());

FileInputStream fis;

fis = newFileInputStream(f);

BufferedReader in = newBufferedReader(new InputStreamReader(fis));

String aLine;

while((aLine = in.readLine()) != null) {

out.write(aLine);

out.newLine();

in.close();

} catch(IOException e) {

e.printStackTrace();

out.close();

}}

输出:

merging: s1

merging: s2

我经常需要用Java将多个文件合并为一个文件。因此,我编写了一种可重用的方法来完成这项工作。对我来说,合并一组txt文件非常有效。 该方法接受File数组和合并的文件路径。运行该方法后,要合并的文件集将被合并到指定的文件中。 packagecom.programcreek; importjava.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileWriter;import java.io.IOException;import java.io.InputStreamReader; publicclassMergerFiles { publicstaticvoidmain(String[] args) { String sourceFile1Path = "/home/programcreek/Desktop/s1"; String sourceFile2Path = "/home/programcreek/Desktop/s2"; String mergedFilePath = "/home/programcreek/Desktop/m"; File[] files = newFile[2]; files[0] = newFile(sourceFile1Path); files[1] = newFile(sourceFile2Path); File mergedFile = newFile(mergedFilePath); mergeFiles(files, mergedFile); } publicstaticvoidmergeFiles(File[] files, File mergedFile) { FileWriter fstream = null; BufferedWriter out = null; try{ fstream = newFileWriter(mergedFile, true); out = new BufferedWriter(fstream); } catch(IOException e1) { e1.printStackTrace(); for(File f : files) { System.out.println("merging: " + f.getName()); FileInputStream fis; fis = newFileInputStream(f); BufferedReader in = newBufferedReader(new InputStreamReader(fis)); String aLine; while((aLine = in.readLine()) != null) { out.write(aLine); out.newLine(); in.close(); } catch(IOException e) { e.printStackTrace(); out.close(); }} 输出: merging: s1 merging: s2
经验分享 程序员 微信小程序 职场和发展