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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 奋发吧小白 高级黑马   /  2014-8-27 14:10  /  1386 人查看  /  11 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. import java.io.*;
  2. class  CopyTest
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                  copy_2();
  7.         }
  8.         //方式一:读取一个复制一个
  9.         public static void copy_1()
  10.         {
  11.                 FileWriter fw = null;
  12.                 FileReader fr = null;
  13.                 try
  14.                 {
  15.                         fw = new FileWriter("hehe_copy.txt");//创建一个目的文件
  16.                         fr = new FileReader("Test.txt");//读取出需要被复制的文件

  17.                         int ch = 0;
  18.                         while ((ch = fr.read())!=-1)
  19.                         {
  20.                                  fw.write(ch);
  21.                         }
  22.                 }
  23.                 catch (IOException e)
  24.                 {
  25.                         System.out.println(e.toString());
  26.                 }
  27.                 finally
  28.                 {
  29.                         if (fr!=null)
  30.                         {
  31.                                 try
  32.                                 {
  33.                                         fr.close();
  34.                                 }
  35.                                 catch (IOException e)
  36.                                 {
  37.                                         System.out.println(e.toString());
  38.                                 }
  39.                                
  40.                         }
  41.                         if (fw!=null)
  42.                         {
  43.                                 try
  44.                                 {
  45.                                         fw.close();
  46.                                 }
  47.                                 catch (IOException e)
  48.                                 {
  49.                                         System.out.println(e.toString());
  50.                                 }
  51.                                
  52.                         }
  53.                 }
  54.         }
  55.         //方式二:先复制到数组,然后一次性把数组中的元素取出!再接着往数组中存储,取出!
  56.         public static void copy_2()
  57.         {
  58.                         FileWriter fw = null;
  59.                         FileReader fr = null;
  60.                         try
  61.                         {
  62.                                 fw = new FileWriter("hehe_copy.txt");//创建一个目的文件
  63.                                 fr = new FileReader("Test.txt");//读取出需要被复制的文件

  64.                                 char [] buf = new char[1024];
  65.                                 int num = 0;
  66.                                 while ((num = fr.read(buf))!=-1)
  67.                                 {
  68.                                         fw.write(buf);
  69.                                 }
  70.                         }
  71.                         catch (IOException e)
  72.                         {
  73.                                 System.out.println(e.toString());
  74.                         }
  75.                         finally
  76.                         {
  77.                                 if (fr!=null)
  78.                                 {
  79.                                         try
  80.                                         {
  81.                                                 fr.close();
  82.                                         }
  83.                                         catch (IOException e)
  84.                                         {
  85.                                                 System.out.println(e.toString());
  86.                                         }
  87.                                        
  88.                                 }
  89.                                 if (fw!=null)
  90.                                 {
  91.                                         try
  92.                                         {
  93.                                                 fw.close();
  94.                                         }
  95.                                         catch (IOException e)
  96.                                         {
  97.                                                 System.out.println(e.toString());
  98.                                         }
  99.                                        
  100.                                 }
  101.                         }
  102.                 }
  103.         }

复制代码


评分

参与人数 1技术分 +1 收起 理由
天黑偷牛 + 1 继续努力

查看全部评分

11 个回复

倒序浏览
谢谢分享哦
回复 使用道具 举报
学习下谢谢分享
回复 使用道具 举报
谢谢分享~~
回复 使用道具 举报
谢谢  楼主 分享..
回复 使用道具 举报
哈哈,毕老师的视频,昨天刚看到这个地方。。。
回复 使用道具 举报
谢谢分享!
回复 使用道具 举报
第二种方式其实就是定义自己的缓冲区,在对字节流操作时这种手段可以有效提高代码执行效率,而缓冲流Buffered...是可以操作字符流的。这儿为了提高效率楼主可以使用缓冲流。
回复 使用道具 举报
alee 中级黑马 2014-8-28 22:06:08
9#
谢谢楼主,复习了
回复 使用道具 举报
还是用缓冲快。。
回复 使用道具 举报
很高端啊,还没有看到这个地方
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马