黑马程序员技术交流社区

标题: 用带缓冲功能的字节流实现文件的复制 [打印本页]

作者: chenguoyu520    时间: 2015-9-23 13:56
标题: 用带缓冲功能的字节流实现文件的复制
  1. import java.io.BufferedReader;
  2. import java.io.BufferedWriter;
  3. import java.io.File;
  4. import java.io.FileReader;
  5. import java.io.FileWriter;
  6. import java.io.IOException;

  7. public class BufferReaderAndWriter {

  8.         public static void main(String[] args) {
  9.                 BufferedReader bufr = null;
  10.                 BufferedWriter bufw = null;
  11.                 File source = new File("D:\\a.txt");//创建要读取的文件(一般存在)
  12.                
  13.                 File target = new File("D:\\b.txt");
  14.                 if(!target.exists()){
  15.                         try {
  16.                                 target.createNewFile();//如果要写入的文件不存在,创建
  17.                         } catch (IOException e) {
  18.                                 e.printStackTrace();
  19.                         }
  20.                 }
  21.                 try {
  22.                         //创建输入和输出流
  23.                         bufr = new BufferedReader(new FileReader(source));
  24.                         bufw = new BufferedWriter(new FileWriter(target));
  25.                         //格式化显示文件
  26.                         String str = null;
  27.                         while((str=bufr.readLine())!=null){
  28.                                 bufw.write(str);//写入b.txt文件中
  29.                                 //换行
  30.                                 bufw.newLine();
  31.                         }
  32.                         //刷新缓冲区
  33.                         bufw.flush();
  34.                        
  35.                 } catch (Exception e) {
  36.                         e.printStackTrace();
  37.                 }finally{
  38.                         //关闭流资源
  39.                         if(bufr!=null){
  40.                                 try {
  41.                                         bufr.close();
  42.                                 } catch (IOException e) {
  43.                                         e.printStackTrace();
  44.                                 }
  45.                         }
  46.                         if(bufw!=null){
  47.                                 try {
  48.                                         bufw.close();
  49.                                 } catch (IOException e) {
  50.                                         e.printStackTrace();
  51.                                 }
  52.                         }
  53.                 }
  54.         }

  55. }
复制代码

作者: chenguoyu520    时间: 2015-9-23 13:58
这个练习有什么地方可以简化,或者能更简单点实现吗




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