黑马程序员技术交流社区

标题: bufferReader/Writer实现的文本文件Copy操作,不知道有没有漏什么 [打印本页]

作者: sven556677    时间: 2015-8-15 20:11
标题: bufferReader/Writer实现的文本文件Copy操作,不知道有没有漏什么
  1. import java.io.*;
  2. /*
  3. * 缓冲字符流实现文本文件拷贝
  4. * 这个Demo把要复制的文件名提供出去了
  5. */
  6. public class Test1 {
  7.         public static void copyText(String originName,String copyName)throws IOException{//originName被拷贝的文件名,copyName拷贝后的文件名
  8.                 BufferedReader br=null;//如果在try内声明,最后finally回收的时候找不到对象,所以在这声明
  9.                 BufferedWriter bw=null;
  10.                 try {
  11.                         bw=new BufferedWriter(new FileWriter(copyName,true));//buffered的装饰器模式
  12.                         br=new BufferedReader(new FileReader(originName));
  13.                         String line=null;//开始的时候犹豫了下这个String能不能去掉,发现还是不能,要不readLine又要多移动一个指针了
  14.                         while((line=br.readLine())!=null){//BufferedReader使用装饰器模式,一次读一行
  15.                                 bw.write(line);//写一行
  16.                                 bw.newLine();//换一行
  17.                                 bw.flush();//个人一读到flush这个词就想到了冲马桶
  18.                         }
  19.                 } catch (IOException e) {
  20.                         throw new IOException("复制失败");
  21.                 }
  22.                 finally{
  23.                         try {
  24.                                 if(bw!=null){
  25.                                         bw.close();
  26.                                 }
  27.                         } catch (IOException e) {
  28.                                 throw new IOException("关闭失败");
  29.                         }
  30.                         try {
  31.                                 if(br!=null){
  32.                                         br.close();
  33.                                 }
  34.                         } catch (IOException e) {
  35.                                 throw new IOException("关闭失败");
  36.                         }
  37.                 }
  38.                
  39.                
  40.                
  41.         }
  42.         public static void main(String[] args) throws IOException {
  43.                 copyText("bbq.txt","bbq_1.txt");
  44.         }
  45. }
复制代码

作者: 泽尻绘里香    时间: 2015-8-15 22:28
赞一个,
作者: 两木三水    时间: 2015-8-15 23:37
纯粹刷HMB




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2