BufferedWriter与BufferedRead --------------------------Test2

本文介绍了一个简单的Java程序,用于合并两个文本文件的内容。通过使用BufferedReader和BufferedWriter,程序可以有效地读取并合并文件。文章提供了完整的代码实现,包括异常处理。
 1 package com.test;
 2 
 3 import java.io.BufferedReader;
 4 import java.io.BufferedWriter;
 5 import java.io.File;
 6 import java.io.FileNotFoundException;
 7 import java.io.FileReader;
 8 import java.io.FileWriter;
 9 import java.io.IOException;
10 import java.util.ArrayList;
11 import java.util.List;
12 /**
13  * 将两个文档合并为一个文档,需要注意要读取的文件的编码格式与java文件的编码格式相同
14  * @author Administrator
15  *
16  */
17 public class Demo3 {
18 
19     public static void main(String[] args) {
20         // TODO Auto-generated method stub
21         Readwrite111 readwrite111 = new Readwrite111();
22         readwrite111.copyDate();
23         
24     }
25 
26 }
27 
28 class Readwrite111 {
29     public static void copyDate() {
30         BufferedReader bufferedReader = null;
31         BufferedReader bufferedReader2 = null;
32         BufferedWriter bufferedWriter = null;
33         try {
34             //将要进行合并的文档
35             File file = new File("D://userMsg//userinfo.txt");
36             File file2 = new File("D://userMsg//userinfo11.txt");
37             //保存读取到的文档内容
38             List<String> list = new ArrayList<String>();
39             String str = null;
40             //开始进行第一个文档的读取
41             FileReader fileReader = new FileReader(file);
42             bufferedReader = new BufferedReader(fileReader);
43             while((str = bufferedReader.readLine())!= null){
44                 list.add(str);
45                 
46             }
47             //开始进行第二个文档的读取
48             FileReader fileReader2 = new FileReader(file2);
49             bufferedReader2 = new BufferedReader(fileReader2);
50             while((str = bufferedReader2.readLine())!=null){
51                 list.add(str);
52                 
53             }
54             //将要进行合并的文档,并此将结果写入到此文档中
55             File file3 = new File("D://userMsg//userinfo22.txt");
56             FileWriter fileWriter = new FileWriter(file3);
57             bufferedWriter = new BufferedWriter(fileWriter);
58             for(String s : list){
59                 bufferedWriter.write(s);
60                 //写入数据是进行换行
61                 bufferedWriter.write("\r\n");
62                 System.out.println(s);
63             }
64             bufferedWriter.flush();
65         } catch (FileNotFoundException e) {
66             // TODO Auto-generated catch block
67             e.printStackTrace();
68         } catch (IOException e){
69             e.printStackTrace();
70         }finally{
71             try {
72                 if(bufferedReader!=null){
73                     bufferedReader.close();
74                 }
75                 if(bufferedReader2!=null){
76                     bufferedReader2.close();
77                 }
78                 if(bufferedWriter!=null){
79                     bufferedWriter.close();
80                 }
81             } catch (IOException e) {
82                 // TODO Auto-generated catch block
83                 e.printStackTrace();
84             }
85         }
86         
87         
88     }
89 }

 

转载于:https://www.cnblogs.com/fujilong/p/4704486.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值