Java编写一个程序,其功能是将两个文件的内容合并到一个文件中。 data1.txt【GBK】和data2.txt 【utf-8】 ---> result.txt【GBK】。
时间: 2024-02-22 07:57:29 浏览: 52
好的,以下是Java代码实现:
```java
import java.io.*;
public class MergeFiles {
public static void main(String[] args) {
String file1 = "data1.txt";
String file2 = "data2.txt";
String resultFile = "result.txt";
mergeFiles(file1, file2, resultFile);
}
public static void mergeFiles(String file1, String file2, String resultFile) {
try {
BufferedReader br1 = new BufferedReader(new InputStreamReader(new FileInputStream(file1), "GBK"));
BufferedReader br2 = new BufferedReader(new InputStreamReader(new FileInputStream(file2), "UTF-8"));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(resultFile), "GBK"));
String line1 = null;
while ((line1 = br1.readLine()) != null) {
bw.write(line1);
bw.newLine();
}
String line2 = null;
while ((line2 = br2.readLine()) != null) {
bw.write(line2);
bw.newLine();
}
br1.close();
br2.close();
bw.close();
System.out.println("合并成功!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
解释一下代码:
1. `file1` 和 `file2` 分别是要合并的两个文件路径,`resultFile` 是合并后的文件路径。
2. `mergeFiles` 方法接收三个参数,分别是要合并的两个文件路径和合并后的文件路径。
3. 在方法中,我们使用 `BufferedReader` 和 `BufferedWriter` 来读取和写入文件内容。需要注意的是,因为两个文件的编码格式不同,我们需要在读取和写入时指定编码格式。
4. 读取并写入第一个文件的内容,然后再读取并写入第二个文件的内容。
5. 关闭流,输出合并成功的信息。
注意:由于涉及到文件读写操作,因此需要处理可能会发生的 IO 异常。另外,需要将代码文件保存为 `MergeFiles.java`,并确保与要合并的文件在同一目录下。
阅读全文