java编程之合并两个文件内容

/*
 *编写一个程序,将两个文件中的内容合并到一个文件中
 */
 import java.io.*;

public class mergerfile{
	public static void main(String[] args)throws IOException{ // 带有抛出异常
	   FileReader fr1=new FileReader("c:\\file1.txt");  //创建File对象,并打开文件,作为写出数据的目标
	   FileReader fr2=new FileReader("c:\\file2.txt");
       BufferedReader br1=new BufferedReader(fr1);  //创建BufferedReader对象,
       BufferedReader br2=new BufferedReader(fr2);      
       BufferedWriter bw1=new BufferedWriter(new FileWriter("c:/filereader.txt"));  //创建文件,用于将两个文件和在一起
       String s;  //声明字符串
       System.out.println("输入文件是:c:\\file1.txt和c:\\file2.txt\n输出文件是:c:\\filereader.txt");
       s=br1.readLine();  //读入一行
       while(s!=null){  //当不为空时执行下列语句
         bw1.write(s);  //写入s
         bw1.newLine();  //新建行
         s=br1.readLine();  //读行
        }
        
       s=br2.readLine();  //与以上同理
       while(s!=null){
         bw1.write(s);
         bw1.newLine();
         s=br2.readLine();
        }
        
       bw1.close();  //关闭
	}
}

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答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
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值