Zip文件大小异常

时间:2016-01-12 12:52:00

标签: java file zip size

我在我的zip文件中看到了一些不寻常的东西  我有两个.txt个文件,然后在我的应用程序中压缩java.util.zip(ZipOutputStream, ZipEntry ...),然后通过浏览器作为可下载的zip文件返回。
一个文件的数据是数据库blob,另一个是StringBuffer。我的blob txt文件大小为10 mb,我的StringBuffer txt文件为15 mb但是当这些文件被压缩时,blob txt zip文件的大小比StringBuffer txt文件大,尽管它包含一个较小的txt文件。
有什么理由可能会发生这种情况?

2 个答案:

答案 0 :(得分:0)

  • StringBuffer和(从Java 5开始)StringBuilder类只存储 字符数据的缓冲区加上当前长度(没有 字符串的附加偏移和哈希代码字段,但该缓冲区 可能大于放在其中的实际字符数;
  • Java char占用两个字节,即使您使用它们进行存储也是如此 无聊的旧ASCII值,适合单个字节;

答案 1 :(得分:0)

您的BLOB - 二进制大对象 - 可能包含非文本的数据,并且可以像文本一样压缩。例如,它可能包含图像。

如果您还不知道blob包含的内容,可以使用hexdump程序查看它。