我从 HTTP 请求的响应开始:
InputStream responseInputStream = response.getEntityInputStream()
我需要对该响应进行 gzip 压缩,以便将其上传到 s3 并将其压缩保存:
this.s3.putObject(new PutObjectRequest(bucketName, key, gzippedResponseInputStream, meta));
我知道我可以将byte[]
数组取出,responseInputStream
然后将它们压缩成一个新的InputStream
. 但是,对于大量数据,这可能非常低效。
我知道在 SO 上也有人问过类似的问题,但我还没有找到任何似乎可以解决从 a 开始InputStream
并以 gzipped 结束的特定需求InputStream
。
谢谢你的帮助!