黑马程序员技术交流社区

标题: 黑马程序员_BufferedReader和BufferedWriter的应用. [打印本页]

作者: 熊永标    时间: 2013-1-12 13:01
标题: 黑马程序员_BufferedReader和BufferedWriter的应用.
  1. package cn.javastudy.p10.io.demo;

  2. import java.io.*;

  3. /*
  4. * 读取源文件
  5. * 把读取的源文件写到目标文件
  6. */
  7. public class CopyExpression {
  8.         public static void main(String[] args) {
  9.                 copyData("d:\\demo.txt","E:\\demo.txt");
  10.         }

  11.         public static void copyData(String res, String des) {
  12.                 FileReader fr=null;
  13.                 BufferedReader bfr=null;
  14.                 FileWriter fw=null;
  15.                 BufferedWriter bfw=null;
  16.                 try {
  17.                         fr=new FileReader("D:\\demo.txt");
  18.                         fw=new FileWriter("E:\\demo.txt");
  19.                         bfr=new BufferedReader(fr);
  20.                         bfw=new BufferedWriter(fw);
  21.                         String line=null;
  22.                         while((line=bfr.readLine())!=null)
  23.                         {
  24.                                 bfw.write(line);
  25.                                 bfw.newLine();
  26.                                 bfw.flush();
  27.                         }
  28.                 } catch (FileNotFoundException e) {
  29.                         // TODO Auto-generated catch block
  30.                         System.out.println(e.getMessage());
  31.                 } catch (IOException e) {
  32.                         // TODO Auto-generated catch block
  33.                         System.out.println(e.getMessage());
  34.                 }finally{
  35.                         if(fr!=null)
  36.                                 try {
  37.                                         fr.close();
  38.                                 } catch (IOException e) {
  39.                                         // TODO Auto-generated catch block
  40.                                         System.out.println(e.getMessage());
  41.                                 }
  42.                         if(fw!=null)
  43.                                 try {
  44.                                         fw.close();
  45.                                 } catch (IOException e) {
  46.                                         // TODO Auto-generated catch block
  47.                                         System.out.println(e.getMessage());
  48.                                 }
  49.                 }
  50.                
  51.                
  52.         }
  53. }
复制代码
/*
在此实例中为什么不调用字符缓冲区的关闭,而是调用字符流对象FileReader和FileWriter对象的关闭,是因为,有可能这两个对象在创建时发生异常,倒至下面的BufferedReader和BufferedWriter对象没法如始化,如果调用了字符缓冲区的关闭时,有可能发生PrinterException异常,再有的就是字符缓冲区的BufferedReader和BufferedWriter的Close方法调用的也底层的关闭.因此在这个程序中调用底层的关闭比较合适.
*/
作者: 许庭洲    时间: 2013-1-15 19:42
值得学习ing!




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