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(" "); 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 }