黑马程序员技术交流社区

标题: io流关闭问题 [打印本页]

作者: \(^o^)/    时间: 2014-5-7 10:26
标题: io流关闭问题
本帖最后由 \(^o^)/ 于 2014-5-9 19:01 编辑
  1. public static void copy() throws IOException
  2. {
  3. FileWriter fw=new FileWriter("1.txt");

  4. FileReader fr=new FileReader("RuntimeDemo.java");



  5. int c=0;

  6. while((c=fr.read())!=-1)
  7. {
  8. fw.write(c);
  9. }
  10. fw.close();
  11. fr.close();
  12. }
  13. public static void Rea() throws IOException
  14. {
  15. FileReader fr=new FileReader("RuntimeDemo.java");

  16. char[] ch=new char[1024];

  17. int c=0;
  18. while((c=fr.read(ch))!=-1)
  19. {
  20. System.out.print(new String(ch,0,c));
  21. }
  22. }
复制代码
为什么上面的函数需要关闭流,而下面的不需要?

作者: 张耀扬    时间: 2014-5-7 11:53
下面的也需要关闭流吧
作者: 刘晶    时间: 2014-5-7 13:16
其实两个都是需要关闭的,如果不关闭就一直占用资源,造成资源浪费,在一个就是关闭流最好放在finally中,如果出现异常,想关也就关不上了。
作者: 倪大大    时间: 2014-5-7 14:43
都是需要的,只是你下面没有写而已, 流的关闭不是强制性的,也就是说你不关流 程序也能继续运行,但是会占用资源,导致资源浪费, 所以所说的关流,只是一个规范动作,是提升程序优异性的操作.而非导致程序出错的异常




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