首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >写ByteArrayOutputStream给FileOutputStream还是写ByteArray给FileOutputStream?

写ByteArrayOutputStream给FileOutputStream还是写ByteArray给FileOutputStream?
EN

Stack Overflow用户
提问于 2019-04-16 09:55:45
回答 1查看 562关注 0票数 0

以下哪一种方法在内存利用和性能方面更有效:

  1. ByteArrayOutputStream写到FileOutputStream i.e . baos.writeTo(output);
  2. ByteArrayOutputStream转换为ByteArray,然后写入FileOutputStream I. output.write(baos.toByteArray());

我分析并发现,第二种方法是在编写文件时占用更多的内存,因为baos.toByteArray()创建了一个新分配的Byte数组。

请建议一下。你认为使用output.write(baos.toByteArray())有什么好处吗?

代码语言:javascript
复制
FileOutputStream output = new FileOutputStream(path);
ByteArrayOutputStream baos = getBaos(); 
baos.writeTo(output);
//output.write(baos.toByteArray());
EN

回答 1

Stack Overflow用户

发布于 2019-04-16 10:05:08

writeTo将直接写入它的内部缓冲区到OUT (即FileOutputStream),而写(bao.toByteArray())比正确分析的writeTo花费更多的时间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55705411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档