gpt4 book ai didi

java - 使用 Jax-rs 从 ZipOutPutStream 下载 Zip 文件

转载 作者:太空宇宙 更新时间:2023-11-04 11:23:33 25 4
gpt4 key购买 nike

我正在使用 ByteArrayOutputStream 和 ZipOutPutSteam 创建一个 zip 文件,但是创建一个大约 200mb 的大 zip 文件需要很长时间的延迟。有什么有效的办法吗?

        URL u = new URL(url);
URLConnection uc = u.openConnection();

ByteArrayOutputStream out = new ByteArrayOutputStream();
ZipOutputStream zipOut = new ZipOutputStream( out );
zipOut.putNextEntry( new ZipEntry( "file.csv" ) );
zipOut.write(IOUtils.toByteArray(uc.getInputStream()));
uc.getInputStream().close();
zipOut.closeEntry();
zipOut.close();

ResponseBuilder response = Response.ok(out.toByteArray());
response.header("Content-Disposition", "attachment;
filename=\"LMPeriod.zip\"");
return response.build();

最佳答案

使用 FileOutputStream 而不是 ByteArrayOutputStream 将 zip 写入磁盘。ByteArrayOutputStream 将压缩结果缓存在内存中。如果您希望将其写入磁盘,则必须将 ZipOutputStream 包装在 FileOutputStream 周围。

关于java - 使用 Jax-rs 从 ZipOutPutStream 下载 Zip 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44645271/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com