A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  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方法调用的也底层的关闭.因此在这个程序中调用底层的关闭比较合适.
*/

评分

参与人数 1黑马币 +6 收起 理由
冯海霞 + 6

查看全部评分

1 个回复

倒序浏览
值得学习ing!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马