首页 > 解决方案 > IOUtils.copyLarge 不适用于压缩输入

问题描述

我正在尝试使用IOUtils.copyLarge. 当我从 a 传输GZIPInputStream到非压缩输出时,它工作正常,但是当我传输原始 InputStream (试图将其压缩)时,最终结果为 0 字节。

我已经验证输入文件是正确的。这是一个有效的例子

IOUtils.copyLarge(new GZIPInputStream(inputStream), out)

这当然会导致写出未压缩的文件。我想保持文件在原始输入中的压缩状态。

当我尝试val countBytes = IOUtils.copyLarge(inputStream, out)结果为 0 时,结果文件为空。想要的结果只是简单地将已经压缩的 gzip 文件复制到一个新的目标来保持压缩。

阅读 API 的文档,我应该正确使用它。关于是什么阻止它工作的任何想法?

标签: javascalagzipinputstream

解决方案


推荐阅读