在Java編程中,I/O(輸入輸出)操作是非常常見的,而文件I/O是其中一種常見的用法。Java中的文件I/O是通過基本的InputStream和OutputStream類以及高級的Reader和Writer類來完成的。當(dāng)需要合并多個(gè)IO文件時(shí),可以使用Java的文件處理和IO操作組合完成。
import java.io.*; public class FileMerge { public static void main(String[] args) { String[] fileNames = {"file1.txt", "file2.txt", "file3.txt"}; String mergedFileName = "mergedFile.txt"; try { //打開一個(gè)待合并的輸出文件流 BufferedWriter out = new BufferedWriter(new FileWriter(mergedFileName)); //按順序讀取各個(gè)文件,并將其合并寫入輸出文件流 for (String fileName : fileNames) { BufferedReader in = new BufferedReader(new FileReader(fileName)); String line; while ((line = in.readLine()) != null) { out.write(line); out.newLine(); } in.close(); } out.close(); } catch (IOException e) { e.printStackTrace(); } } }
在合并文件時(shí),首先需要定義一個(gè)待合并文件的數(shù)組,可以手動(dòng)輸入,也可以從其他地方獲取。然后定義一個(gè)輸出文件的名稱。在代碼中,使用了BufferedWriter類與FileWriter類組合的方式打開一個(gè)待合并的輸出文件流(out),并在循環(huán)中遍歷數(shù)組中的每個(gè)文件名。對于每個(gè)輸入文件,用BufferedReader類與FileReader類組合的方式打開一個(gè)文件輸入流(in),然后按行讀取文件,將讀取的每一行數(shù)據(jù)寫入輸出文件流中,之后使用newLine()方法換行,在循環(huán)結(jié)尾處關(guān)閉輸入文件流。循環(huán)結(jié)束后也需要關(guān)閉輸出文件流。