ByteArrayInputStream和ByteArrayOutputStream不需要关闭流的原理--博客摘录

2023-03-11,,

————————————————
版权声明:本文为CSDN博主「PSUUGDUFNM」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u012668925/article/details/53941471

ByteArrayOutputStream或ByteArrayInputStream是内存读写流,不同于指向硬盘的流,它内部是使用字节数组读内存的,这个字节数组是它的成员变量,当这个数组不再使用变成垃圾的时候,Java的垃圾回收机制会将它回收。所以不需要关流。如下图所示,ByteArrayOutputStream内部是数组:
这里写图片描述

然后再看看FileOutputStream的构造:
这里写图片描述

很明显FileOutputStream的构造方法打开了IoBridge,
也就是说,指向内存的流可以不用关闭,指向存储卡/硬盘的流一定要关闭

ByteArrayInputStream和ByteArrayOutputStream不需要关闭流的原理--博客摘录的相关教程结束。

《ByteArrayInputStream和ByteArrayOutputStream不需要关闭流的原理--博客摘录.doc》

下载本文的Word格式文档,以方便收藏与打印。