首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用JAVA压缩文件

用JAVA压缩文件
EN

Stack Overflow用户
提问于 2016-01-27 07:13:15
回答 1查看 223关注 0票数 0

我的项目有一个要求,我必须通过REST服务接收一个文件(使用jersey)并将其存储在数据库中。

文件大小将在2-4MB左右。

接收到的文件可以是zip或pdf格式。在存储到数据库之前,我想压缩它。

我搜索并发现有许多可用的类,如GZip,Zip,平减.我想使用平移器,因为它看起来很简单。我已经写了以下的代码拉链。

代码语言:javascript
运行
复制
Deflater deflater = new Deflater();
deflater.setInput(data);
ByteArrayOutputStream outputStream = new ByteArrayOutputStream(data.length);
deflater.finish();
byte[] buffer = new byte[1024];
while (!deflater.finished()) {
    int count = deflater.deflate(buffer);
    outputStream.write(buffer, 0, count);
}
outputStream.close();
byte[] output = outputStream.toByteArray();
byte[] output = outputStream.toByteArray();

有谁能为我的用例提供建议吗?如果我使用上面的代码,可以吗?还是我必须使用其他类来执行同样的操作。

谢谢你,凯蒂

EN

回答 1

Stack Overflow用户

发布于 2016-01-27 07:41:20

ByteArrayOutputStream在内存中缓存压缩的输出。您必须将它封装在FileOutputStream上,以避免在编写大文件时出现任何OOM问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35030921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档