【发布时间】:2016-01-27 07:13:15
【问题描述】:
我的项目要求我必须通过 REST 服务(使用 jersey)接收文件并将其存储在数据库中。
文件大小约为 2-4MB。
收到的文件可以是 zip 或 pdf 格式。 在存储到数据库之前,我想对其进行压缩。
我google了一下,发现有很多可用的类,比如GZip、Zip、Deflater……我想用Deflater,因为它看起来很简单。我写了下面的压缩代码。
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();
任何人都可以为我的用例提出建议吗?如果我使用上面的代码是可以的,还是我必须使用其他一些类来执行相同的操作。
谢谢, 小猫
【问题讨论】:
-
所以你的代码没有实现你的目标?有什么问题吗?
-
如果文件已经是 zip 文件,则不太可能进一步压缩。即使它是可压缩的,你想用什么格式将它存储在数据库中?这应该决定你写什么代码,而不是反过来。
-
ZIP 和 PDF 已压缩。
-
这不是代码审查网站。
标签: java file-comparison