社区
Java SE
帖子详情
ByteArrayOutputStream关闭问题
hmy468689496
2016-09-28 09:28:06
ByteArrayOutputStream里面的close关闭无效,是一个空实现源码。那么有木有办法对其进行有效的关闭?不关闭对性能有影响吗?
项目经理问过我为什么关流问题了,,,但是这个流是关闭不掉的,所以在寻找如何有效关闭。而jdk既然让这个字节数组流关闭无效,那么自然有他的道理,那既然jdk的设计者们都没让他关,所以我在此一问性能问题的影响。共两个问题哈
...全文
1631
3
打赏
收藏
ByteArrayOutputStream关闭问题
ByteArrayOutputStream里面的close关闭无效,是一个空实现源码。那么有木有办法对其进行有效的关闭?不关闭对性能有影响吗? 项目经理问过我为什么关流问题了,,,但是这个流是关闭不掉的,所以在寻找如何有效关闭。而jdk既然让这个字节数组流关闭无效,那么自然有他的道理,那既然jdk的设计者们都没让他关,所以我在此一问性能问题的影响。共两个问题哈
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
绝不原创的飞龙
2017-12-01
打赏
举报
回复
JVM 可以监测托管内存的使用,所以如果你的一个类除了托管内存不占用其它东西,是可以完全交给 JVM 处理的。 StringWriter 也同理。 但是如果你不知道它是一个 ByteArrayOutputStream,只知道它是 OutputStream,那就没办法了。有功夫判断还不如直接 close()。
hmy468689496
2016-09-29
打赏
举报
回复
这个回答好,,就想问为啥不用关。虚拟的流,谢谢哈
小灰狼
2016-09-28
打赏
举报
回复
2
ByteArrayOutputStream/ByteInputStream 都是对内存中的字节数据的访问,只是一个虚拟的流,没有占用网络、磁盘文件等资源,所以没有关闭的必要,实现上也是空 但是,对流进行关闭是一个好习惯,或者说,你必须保证所有的 OutputStream 对象必须被调用 close
ByteArray
OutputStream
或
ByteArray
InputStream是可以不
关闭
的
博客主要讨论了Java中
ByteArray
OutputStream
和
ByteArray
InputStream等内存读写流是否需要
关闭
的
问题
。指出这类流指向内存数据,无需通过操作系统,虚拟可直接垃圾回收,close()方法为空,不
关闭
也不占资源。但建议养成用完所有流都
关闭
的习惯,避免遗漏。
XSSFWorkbook对象 进行zip打包时 用write资源流自动
关闭
处理办法
在使用XSSFWorkbook对象进行Excel文件生成并写入zip时,发现write方法会自动
关闭
输入流,导致下载失败。为解决此
问题
,可以将XSSFWorkbook转换为
ByteArray
OutputStream
,然后通过
ByteArray
OutputStream
将内容写入zip文件,从而避免流被提前
关闭
。
InputStream重用技巧(利用
ByteArray
OutputStream
)
本文介绍了如何通过将InputStream转化为
ByteArray
OutputStream
,再从
ByteArray
OutputStream
转化回InputStream,来复用同一对象进行数据的前后台显示与文件缓存操作,避免了直接读取导致的EOFException或Stream
关闭
问题
。
POI通过 Workbook.write() 写入Zip
OutputStream
对象报流已
关闭
(Stream closed)的
问题
本文解决了一个在使用XSSFWorkbook进行文件压缩时遇到的流已
关闭
错误。通过将XSSFWorkbook转换为
ByteArray
OutputStream
,成功避免了流被自动
关闭
的
问题
,实现了多次写入而不报错。
ByteArray
Stream需要
关闭
的
问题
文章讨论了在项目中使用
ByteArray
Stream存储二维码图片并上传到OSS时,关于流是否需要手动
关闭
的
问题
。尽管GPT提示无需
关闭
,但出于良好编程习惯,通常推荐
关闭
所有流。由于
ByteArray
OutputStream
是内存流,其close方法为空实现,垃圾回收机制会在对象不再使用时自动清理,因此是否
关闭
对内存没有影响。,
Java SE
62,622
社区成员
307,256
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章