黑马程序员技术交流社区

标题: 关于IO流 [打印本页]

作者: 刘晓康    时间: 2012-3-30 17:41
标题: 关于IO流
public class Demo1 {
        public static void main(String[] args) throws IOException  {
        FileReader fr= new FileReader("Demo1.txt");
        int ch=fr.read();
        System.out.println((char)ch);
        int ch1=fr.read();
        System.out.println((char)ch1);
        int ch2=fr.read();
        System.out.println((char)ch2);
        //fr.close();                                  流到底要不要关闭,我测试了一下,我不关闭他也可以运行,为什么还要关闭.
作者: lipanfeng    时间: 2012-3-30 17:47
关闭流是为了释放资源,运行是没问题的

作者: 陈扬    时间: 2012-3-30 22:49
如果没有关闭流,会导致你的操作系统出现内存泄露,影响操作系统的性能,这是程序的一个bug。
而关闭输入流则会释放与该流关联的所有系统资源。
作者: 郑涛    时间: 2012-3-30 22:50
能运行。但是也一定要有关闭动作。不仅如此,IO流处理异常的时候尽量用try/catch环绕,并把流关闭的动作放在catch后的finally块中,以确保一定能执行到!另外,如果流对象创建失败,关闭是无效的,运行时会产生RuntimeExcption 空指针异常NullPointerException,因此,可加入健壮性判断。
如:     if  (fr!=null);
               fr.close();

作者: 翟友伟    时间: 2012-3-31 12:18
关闭不关闭 对运行没什么影响
只是关了  此流  你确定以后再也不用 它了 就关了

有时候还要继续操作的话就不关
不过一般习惯了 都是关了  
作者: 何万县    时间: 2012-3-31 20:06

没有关闭简单来说的后果就是:该资源还是被占用着,没有释放,如果再来一个请求,
就会抛出RuntimeExcetion.




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