在Java 7中,Deflater增加了对一些压缩参数的支持(模式:
我的疑问是这些模式与DEFLATE流的“块”如何相关联(这些块独立压缩,但块内的指针可能指向前一块的原始子字符串)。
这些模式中的一个(或两个)是否意味着刷新终止(非最终)DEFLATE块?调用者能否预测和/或建议这些块边界?
FULL_FLUSH
,SYNC_FLUSH
)。我猜想它们对应于标准API中Zlib相似的常量(尽管这个有更多的模式)。我的疑问是这些模式与DEFLATE流的“块”如何相关联(这些块独立压缩,但块内的指针可能指向前一块的原始子字符串)。
这些模式中的一个(或两个)是否意味着刷新终止(非最终)DEFLATE块?调用者能否预测和/或建议这些块边界?
具体来说,我希望告诉Deflater
对象以下内容:“我将以预定长度(M
)的部分方式提供给您N
个原始字节,并且因为我知道这些部分非常长而且统计数据不同,因为我知道在独立压缩它们方面很少有损失而有所收获,所以我建议你将它们分别压缩成独立的DEFLATE块。” 我可以这样做吗?
FULL_FLUSH
非常类似于连接多个zlib流...连接两个ZLIB流是否容易/微不足道?我认为这相当于解析块以将一个最终标志更改为非最终标志,再重新计算Adler [your]校验和...我是对的吗? - leonbloy