首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GZIP压缩减压

GZIP压缩减压
EN

Stack Overflow用户
提问于 2014-04-07 18:49:11
回答 1查看 371关注 0票数 1

我使用下面的代码来压缩和解压缩字符串。但是在解压缩后,我得到了不同长度的字符串,解压缩字符串中也少了几个字符。

压缩:

代码语言:javascript
复制
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            GZIPOutputStream zos = new GZIPOutputStream(baos);

            zos.write(text.getBytes());
            zos.finish();
            zos.flush();

            byte[] udpBuffer = baos.toByteArray();          
            System.out.println("Compressed length: " + udpBuffer.length);

减压:

代码语言:javascript
复制
        GZIPInputStream gis = new GZIPInputStream(new ByteArrayInputStream(bytes));
        BufferedReader br = new BufferedReader(new InputStreamReader(gis));     

        StringBuilder sb = new StringBuilder();
        while (br.readLine()!= null) {
            sb.append(br.readLine());
        }

        System.err.println(sb.toString());

文本原始长度: 45627字节

文本压缩长度: 3732字节

文本未压缩长度: 20328字节(应等于原始长度)

我的原文是这样的:

代码语言:javascript
复制
<html>
<head>
   <title></title>
</head>
<body>
<p><span class="preheader" style="display:none!important;mso-hide:all">Hey wazzup? </span></p>

<table align="center" border="0" cellpadding="0" cellspacing="0" width="640">
   <tbody>
       <tr>
           <td align="center" height="30" style="font-size:11px;color:#333;font-family:Verdana,Geneva,sans-serif">
.
.
.
</tbody>
</body>
</html>

而我的解压缩文本就像(请参阅开始标记丢失了,还有

代码语言:javascript
复制
<title> tag, similarly many tags and other parts are missing from my uncompressed text:
<head></head><p><span class="preheader" style="display:none!important;mso-hide:all">
.
.
.

有人能指出错误吗?或者这是预期的行为?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-07 19:02:39

变化

代码语言:javascript
复制
while (br.readLine()!= null) {
    sb.append(br.readLine());
}

代码语言:javascript
复制
String line;
while ((line = br.readLine()) != null) {
    sb.append(line);
}

此外,应该在zos.flush()之前调用zos.finish()。

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

https://stackoverflow.com/questions/22920592

复制
相关文章

相似问题

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