Javaで2つのファイルをマージする方法
Javaでファイルを結合するには次のような方法があります。
- BufferedReaderとBufferedWriterを使用する
import java.io.*;
public class FileMerge {
public static void main(String[] args) {
String file1Path = "file1.txt";
String file2Path = "file2.txt";
String mergedFilePath = "mergedFile.txt";
try {
BufferedReader reader1 = new BufferedReader(new FileReader(file1Path));
BufferedReader reader2 = new BufferedReader(new FileReader(file2Path));
BufferedWriter writer = new BufferedWriter(new FileWriter(mergedFilePath));
String line;
// 读取并写入file1的内容
while ((line = reader1.readLine()) != null) {
writer.write(line);
writer.newLine();
}
// 读取并写入file2的内容
while ((line = reader2.readLine()) != null) {
writer.write(line);
writer.newLine();
}
reader1.close();
reader2.close();
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
- FileInputStreamとFileOutputStreamの使用
import java.io.*;
public class FileMerge {
public static void main(String[] args) {
String file1Path = "file1.txt";
String file2Path = "file2.txt";
String mergedFilePath = "mergedFile.txt";
try {
FileInputStream file1InputStream = new FileInputStream(file1Path);
FileInputStream file2InputStream = new FileInputStream(file2Path);
FileOutputStream mergedFileOutputStream = new FileOutputStream(mergedFilePath);
byte[] buffer = new byte[1024];
int bytesRead;
// 读取并写入file1的内容
while ((bytesRead = file1InputStream.read(buffer)) != -1) {
mergedFileOutputStream.write(buffer, 0, bytesRead);
}
// 读取并写入file2的内容
while ((bytesRead = file2InputStream.read(buffer)) != -1) {
mergedFileOutputStream.write(buffer, 0, bytesRead);
}
file1InputStream.close();
file2InputStream.close();
mergedFileOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
これらコードサンプルは、2つのファイルの内容を行単位またはバイト単位で読み取り、3番目のファイルに書き込み、ファイルをマージします。実際の使用時には、実際のニーズに応じて適切な変更を加えることができます。