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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 騛鹏 中级黑马   /  2013-3-22 16:08  /  1393 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 騛鹏 于 2013-3-22 18:03 编辑
  1. import java.io.*;
  2. class  CopyText
  3. {
  4.         public static void copy_2()
  5.         {
  6.                 FileWriter fw = null;
  7.                 FileReader fr = null;
  8.                 try
  9.             {
  10.                         fw = new FileWriter("SystemDemo_copy.txt");
  11.                         fr = new FileReader("SystemDemo.java");
  12.                         char[] buf = new char[1024];
  13.                         int len = 0;
  14.                         while ((len=fr.read(buf))!=-1)
  15.                         {
  16.                                 fw.write(buf,0,len);
  17.                         }

  18.                 }
  19.                 catch (IOException e)
  20.                 {
  21.                         throw new RuntimeException("no read or write");
  22.                 }
  23.                 finally
  24.                 {
  25.                         //------------------------------------
  26.                         if(fr!=null)
  27.                                 try
  28.                                 {
  29.                                         fr.close();
  30.                                 }
  31.                                 catch (IOException e)
  32.                                 {
  33.                                 }
  34.                         if(fw!=null)
  35.                                 try
  36.                                 {
  37.                                         fw.close();
  38.                                 }
  39.                                 catch (IOException e)
  40.                                 {
  41.                                 }
  42.                         //----------------------------------------
  43.                 }
  44.         }

  45.         public static void main(String[] args)
  46.         {
  47.                 copy_2();
  48.         }
  49. }
复制代码
问题:

finally中 能否写为:   有什么区别?
  1. try
  2. {
  3. if(fr!=null)
  4. fr.close();
  5. }
  6. catch (IOException e)
  7. {
  8. }

  9. try
  10. {
  11. if(fw!=null)
  12. fw.close();
  13. }
  14. catch (IOException e)
  15. {
  16. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
贾文泽 + 1

查看全部评分

1 个回复

倒序浏览
可以的,写内部和外部都一样。
finally里面的语句是必须执行的,
if放try里面和外面一样,读的顺序一样
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马