【发布时间】:2013-01-07 08:06:01
【问题描述】:
我需要压缩一个或多个字节数组,然后再将它们膨胀回正常大小。我查看了api docs 中给出的示例,并找到了一些其他示例。
查看这些示例后,我有两个问题可能不相关,但在我试图理解这一点时,它们似乎相互关联。
在 API 文档示例中,Inflater 和 Deflater 的输出缓冲区都设置为 1024 字节。示例数据只是一个简短的句子,因此是合理的。但是我怎么知道输出缓冲区有多大呢?还是 Deflater(和 Inflater)会根据需要调整输出缓冲区的大小?
我可以使用 ByteArrayOutputStream 并将 DeflatorOutputStream 包装在其周围,而不是猜测缓冲区的大小吗?由于 ByteArrayOutputStream 改变了字节数组的大小,因此不必知道输出的大小或猜测它,就像在 API 示例中似乎必须做的那样。
【问题讨论】: