是否有一个Java OutputStream过滤器可以像GZipOutputStream那样进行解压缩而不是压缩?
Java的GZipOutputStream的文档说明如下: 此类实现了一个流过滤器,用于在中写入压缩数据 GZIP文件格式 不过,我需要的是一个流过滤器,用于写入解压缩的数据 例如,是否有一个Java OutputStream过滤器可以像GZipOutputStream那样进行解压缩而不是压缩?,java,gzip,Java,Gzip,Java的GZipOutputStream的文档说明如下: 此类实现了一个流过滤器,用于在中写入压缩数据 GZIP文件格式 不过,我需要的是一个流过滤器,用于写入解压缩的数据 例如,InflaterOutputStream,它以deflate压缩格式解压缩数据;DeflaterOutputStream,它通过压缩deflate格式压缩数据来实现相反的功能 我试图在内部使用GZipInputStream编写自己的过滤器,但这需要大量的工作,而且,我相信,即使是一个新线程也需要在编写数据时使用它,而
InflaterOutputStream
,它以deflate
压缩格式解压缩数据;DeflaterOutputStream
,它通过压缩deflate
格式压缩数据来实现相反的功能
我试图在内部使用GZipInputStream
编写自己的过滤器,但这需要大量的工作,而且,我相信,即使是一个新线程也需要在编写数据时使用它,而不必在解压缩之前完全缓冲完整的数据,这是出于性能原因而无法做到的
我不能将InputStream
而不是OutputStream
包装起来的原因是,我有一个编码链,其中GZip可能只是其中一个(其他的都有我可以使用的OutputStreamFilter
实现),编码必须以任何顺序执行。如果有人需要,我知道,但它并没有真正做到“正确”的方式:它只是将写入其中的gzip内容导入gzip输入流
。。。可用于读取未压缩的内容。。。然后,它读取该数据,并将其写入另一个流。