gpt4 book ai didi

java - 我应该使用什么顺序 GzipOutputStream 和 BufferedOutputStream

转载 作者:IT老高 更新时间:2023-10-28 21:10:09 25 4
gpt4 key购买 nike

谁能推荐我是否应该这样做:

os = new GzipOutputStream(new BufferedOutputStream(...));

os = new BufferedOutputStream(new GzipOutputStream(...));

哪个更有效率?我应该使用 BufferedOutputStream 吗?

最佳答案

GZIPOutputStream已经带有内置缓冲区。因此,没有必要在链中将 BufferedOutputStream 放在它旁边。 gojomo 的出色回答已经为放置缓冲区的位置提供了一些指导。

GZIPOutputStream 的默认缓冲区大小仅为 512 字节,因此您需要通过构造函数参数将其增加到 8K 甚至 64K。 BufferedOutputStream 的默认缓冲区大小为 8K,这就是您可以在组合默认 GZIPOutputStream 和 BufferedOutputStream 时衡量优势的原因。这一优势也可以通过适当调整 GZIPOutputStream 的内置缓冲区来实现。

所以,回答你的问题:“我应该使用 BufferedOutputStream 吗?” → 不,在你的情况下,你不应该使用它,而是将 GZIPOutputStream 的缓冲区设置为至少 8K。

关于java - 我应该使用什么顺序 GzipOutputStream 和 BufferedOutputStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1082320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com