Java中嵌套的IO流关闭的问题

来源:互联网 发布:java 字符串排序 编辑:程序博客网 时间:2024/06/02 04:17
先看一段代码:
            FileOutputStream out1 = new FileOutputStream("D:\\SingleTon.txt");            ObjectOutputStream out2 = new ObjectOutputStream(out1);            out1.close();//是否需要关闭内层的IO流?            out2.close();

考虑一下,像这样的嵌套IO流,是否应该从内到外依次关闭呢?

答案是不需要!这些IO类都是JDK自带的,调用了最外层的close方法,其实是一层一层向内调用了最内层的IO类的close方法,这也就是装饰者模式。

当然你肯定想问,为什么我之前自内向外逐层关闭也不会抛出异常?

因为就算你对某个流重复关闭多次,也不会抛出异常。

原创粉丝点击