在我使用GZIPOutputStream
上传文件之前,我正在尝试在java中压缩文件。有没有办法将gzip文件存储在内存中以便上传,而不是让它在本地计算机上生成一个gzip压缩文件?
谢谢!
答案 0 :(得分:2)
只需将GZipOutputStream直接连接到输出流并写入即可。没有必要的文件。
答案 1 :(得分:0)
使用GzipCompressingEntity
HttpPost httpPost = new HttpPost("https://host/stuff");
httpPost.setEntity(new GzipCompressingEntity(new FileEntity(new File("my.stuff"))));
CloseableHttpResponse response = httpclient.execute(httpPost);
try {
EntityUtils.consume(response.getEntity());
} finally {
response.close();
}
答案 2 :(得分:0)
通过写入临时文件并在完成gzip上传后对临时文件执行.deleteonexit解决了这个问题。
感谢您的帮助!