我目前正在使用java.util.zip.Deflater进行压缩. java.util.zip.GZIPOutputStream也可用于压缩.这里我主要关注字节数组压缩.
任何人都可以告诉我这些Deflater和GZIPOutputStream之间的区别. (performancewise ..).
解决方法:
除非nowrap为true,否则Deflater会生成zlib包装的deflate压缩数据,在这种情况下,它会生成原始(未包装)deflate压缩数据.
GZIPOutputStream生成gzip包装的deflate数据.
deflate是RFC 1951中定义的压缩数据格式.
zlib是一个双字节头和四字节尾部,它提供了对未压缩数据的流和完整性检查的紧凑标识. zlib在RFC 1950中描述.
gzip是一个10字节的标头和8字节的预告片,提供元数据和完整性检查,其中元数据可以包括文件名,修改日期,原始操作系统,注释和额外数据. gzip在RFC 1952中描述.
除了头部和尾部中的几个字节差异之外,在性能方面没有区别.