Java 上机----实训操作10---合并两个文件到一个文件中

编写程序,将两个文件内容合并到一个文件中。

执行代码:

package chengxu1;
     import java.io.BufferedReader;
     import java.io.BufferedWriter;
     import java.io.FileNotFoundException;
     import java.io.FileReader;
     import java.io.FileWriter;
     import java.io.IOException;

public class test {
    public static void main(String[] args) {
        try {
            FileReader fr1 = new FileReader("E:\\Java\\a.txt");
            FileReader fr2 = new FileReader("E:\\Java\\b.txt");
            BufferedReader br1 = new BufferedReader(fr1);
            BufferedReader br2 = new BufferedReader(fr2);
            BufferedWriter bw3 = new BufferedWriter(new FileWriter("E:\\Java\\c.txt"));
            String s, s1, s2;
            s = br1.readLine();
            s1 = br2.readLine();
            while (s != null) {
                bw3.write(s);
                s = br1.readLine();
                bw3.newLine();
            }
            while (s1 != null) {
                bw3.write(s1);
                s1 = br1.readLine();
                bw3.newLine();
            }
            br1.close();
            br2.close();
            bw3.close();
            System.out.println("文件合并成功!");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

执行结果:
在这里插入图片描述
两个文件合并到第三个文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

·先调试后运行

### 回答1: 可以使用Java文件输入输出流读取一个文本文件的内容,再将另一个文本文件的内容写入到同一个文件。具体实现方法可参考Java API文档的File类、FileInputStream类、FileOutputStream类等相关类和方法。 ### 回答2: 编写一个合并两个文本文件内容的Java程序需要先了解两个文本文件的基本操作,以及Java的输入输出流(InputStream、OutputStream、Reader和Writer)等相关知识。 第一步,需要创建两个文本文件File对象,使用Java IO流读取文本内容,将两个文本文件内容分别存入两个StringBuffer对象。 ``` File file1 = new File("文件路径1"); File file2 = new File("文件路径2"); StringBuffer sb1 = new StringBuffer(); StringBuffer sb2 = new StringBuffer(); try(BufferedReader reader1 = new BufferedReader(new FileReader(file1)); BufferedReader reader2 = new BufferedReader(new FileReader(file2))){ String line; while((line = reader1.readLine()) != null){ sb1.append(line).append(System.lineSeparator()); } while((line = reader2.readLine()) != null){ sb2.append(line).append(System.lineSeparator()); } }catch(IOException e){ e.printStackTrace(); } ``` 第二步,将两个StringBuffer对象合并一个新的StringBuffer对象。 ``` StringBuffer sb = new StringBuffer(); sb.append(sb1).append(sb2); ``` 第三步,将新的StringBuffer对象写入一个新的文件。 ``` File outputFile = new File("输出文件路径"); try(BufferedWriter writer = new BufferedWriter(new FileWriter(outputFile))){ writer.write(sb.toString()); }catch(IOException e){ e.printStackTrace(); } ``` 完整实现代码如下: ``` import java.io.*; public class MergeTextFiles { public static void main(String[] args) { File file1 = new File("文件路径1"); File file2 = new File("文件路径2"); File outputFile = new File("输出文件路径"); StringBuffer sb1 = new StringBuffer(); StringBuffer sb2 = new StringBuffer(); StringBuffer sb = new StringBuffer(); try(BufferedReader reader1 = new BufferedReader(new FileReader(file1)); BufferedReader reader2 = new BufferedReader(new FileReader(file2))){ String line; while((line = reader1.readLine()) != null){ sb1.append(line).append(System.lineSeparator()); } while((line = reader2.readLine()) != null){ sb2.append(line).append(System.lineSeparator()); } sb.append(sb1).append(sb2); }catch(IOException e){ e.printStackTrace(); } try(BufferedWriter writer = new BufferedWriter(new FileWriter(outputFile))){ writer.write(sb.toString()); }catch(IOException e){ e.printStackTrace(); } } } ``` 以上就是合并两个文本文件内容的Java程序实现步骤和代码示例。在实际应用,需要根据实际情况选择不同的输入输出流和读写方式,以满足不同的需求。 ### 回答3: 编写一个合并两个文本文件内容的java程序,可以使用以下步骤: 1. 定义要读取和合并两个文本文件的路径。 2. 创建两个File对象,用来表示这两个文本文件。 3. 创建一个BufferedReader对象来读取第一个文本文件的内容,并将内容存储到一个StringBuilder对象。 4. 重复步骤3,读取第二个文本文件的内容,并将内容追加到StringBuilder对象。 5. 将StringBuilder对象的内容写入一个新的文本文件,可以使用BufferedWriter对象来实现。 以下是一个简单的示例代码: ``` import java.io.*; public class MergeTextFiles { public static void main(String[] args) throws IOException { // 定义要读取和合并两个文本文件的路径 String file1Path = "path/to/file1.txt"; String file2Path = "path/to/file2.txt"; // 创建两个File对象,用来表示这两个文本文件 File file1 = new File(file1Path); File file2 = new File(file2Path); // 创建一个StringBuilder对象来存储合并后的内容 StringBuilder merged = new StringBuilder(); // 读取第一个文本文件的内容,并将内容存储到StringBuilder对象 try (BufferedReader reader = new BufferedReader(new FileReader(file1))) { String line; while ((line = reader.readLine()) != null) { merged.append(line); merged.append("\n"); // 添加换行符 } } // 读取第二个文本文件的内容,并将内容追加到StringBuilder对象 try (BufferedReader reader = new BufferedReader(new FileReader(file2))) { String line; while ((line = reader.readLine()) != null) { merged.append(line); merged.append("\n"); // 添加换行符 } } // 创建一个新的文本文件,并将合并后的内容写入其 File outputFile = new File("path/to/output.txt"); try (BufferedWriter writer = new BufferedWriter(new FileWriter(outputFile))) { writer.write(merged.toString()); } } } ``` 注意,这里用到了Java 7 的 try-with-resources 语句来自动关闭文件流。同时,为了保证合并后的内容每行有一个换行符,我们需要在读取每行内容时手动添加换行符。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力努力在努力(奋斗版)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值