ByteArrayOutputStream或ByteArrayInputStream不需要关闭流原因分析
来源:互联网 发布:广东广电网络营业厅 编辑:程序博客网 时间:2024/04/30 20:17
在解压图片的时候发现ByteArrayOutputStream不需要关闭,为啥呢?
ByteArrayOutputStream或ByteArrayInputStream是内存读写流,不同于指向硬盘的流,它内部是使用字节数组读内存的,这个字节数组是它的成员变量,当这个数组不再使用变成垃圾的时候,Java的垃圾回收机制会将它回收。所以不需要关流。如下图所示,ByteArrayOutputStream内部是数组:
然后再看看FileOutputStream的构造:
很明显FileOutputStream的构造方法打开了IoBridge,
也就是说,指向内存的流可以不用关闭,指向存储卡/硬盘的流一定要关闭。
1 0
- ByteArrayOutputStream或ByteArrayInputStream不需要关闭流原因分析
- ByteArrayOutputStream&ByteArrayInputStream
- ByteArrayOutputStream, ByteArrayInputStream
- 输入流bytearrayinputstream转为输出流bytearrayoutputstream
- ByteArrayOutputStream和ByteArrayInputStream详解 &&&管道流
- Java I/O流-ByteArrayInputStream、ByteArrayOutputStream
- Java IO--内存操作流ByteArrayInputStream/ByteArrayOutputStream
- 黑马程序员 IO流 ByteArrayInputStream与ByteArrayOutputStream
- 字节流ByteArrayInputStream和ByteArrayOutputStream的练习
- java--内存流操作 ByteArrayInputStream ByteArrayOutputStream
- Java IO 系列源码分析——ByteArrayInputStream和ByteArrayOutputStream
- ByteArrayOutputStream/ByteArrayInputStream作用
- java.ByteArrayInputStream-ByteArrayOutputStream
- ByteArrayInputStream与ByteArrayOutputStream类
- ByteArrayInputStream和ByteArrayOutputStream
- ByteArrayInputStream ByteArrayOutputStream CharArrayInputStream CharArrayOutputStream
- ByteArrayOutputStream 和ByteArrayInputStream详解
- java.ByteArrayInputStream-ByteArrayOutputStream
- VT调试器 X64
- Shell编程二:Shell中的数组
- android H5 应用内跳转Scheme协议
- 基于ubuntu16.04 源码安装 tensorflow
- MAT工具下载地址
- ByteArrayOutputStream或ByteArrayInputStream不需要关闭流原因分析
- AndridStudio错误TransformException分析和解决
- 常见防网站数据采集策略方法和它的弊端及采集对策
- 深度学习优化方法比较
- 欢迎使用CSDN-markdown编辑器
- [51nod1169]石子游戏
- [Leetcode] Remove Duplicates from Sorted Array II
- Gvim各个模式下面的快捷键
- LeetCode 142. Linked List Cycle II