学习
实践
活动
专区
工具
TVP
写文章
专栏首页令仔很忙令仔代码收藏系列(一)----Java压缩与解压缩

令仔代码收藏系列(一)----Java压缩与解压缩

package com.flight.inter.otaadapter.manage;

import com.flight.inter.otaadapter.commons.util.Base64Util;
import org.apache.http.Consts;
import org.apache.http.HttpEntity;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicHeader;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;


public class MessageZIPManage {

    /**
     * 压缩
     * @param encode
     * @return
     */
    public static String zipEncode(String encode){
        byte[] pureResult;
        try {
            pureResult = encode.getBytes("UTF-8");
            ByteArrayInputStream inputStream =
                    new ByteArrayInputStream(pureResult);
            ByteArrayOutputStream miwenOutput=new ByteArrayOutputStream();
            GZIPOutputStream outStream =
                    new GZIPOutputStream ( miwenOutput);
            byte[] buf = new byte[10000];
            while (true) {
                int size = inputStream.read(buf);
                if (size <= 0)
                    break;
                outStream.write(buf, 0, size);
            }
            outStream.close();
            byte[] miwenbytes=miwenOutput.toByteArray();
            String pursf= Base64Util.encode2Str(miwenbytes);
            return pursf;

        } catch (Exception e) {
            return null;
        }
    }

    /**
     * 解压缩
     * @param decode
     * @return
     */
    public static String zipDecode(String decode){
        byte[] pureResult;
        try {
            pureResult = Base64Util.decode2ByteArray(decode);
            ByteArrayOutputStream outStream =
                    new ByteArrayOutputStream(10 * pureResult.length);
            GZIPInputStream inStream =
                    new GZIPInputStream ( new ByteArrayInputStream(pureResult) );
            byte[] buf = new byte[10000];
            while (true) {
                int size = inStream.read(buf);
                if (size <= 0)
                    break;
                outStream.write(buf, 0, size);
            }
            outStream.close();
            String pursf=new String(outStream.toByteArray());
            return pursf;

        } catch (Exception e) {
            return null;
        }

    }

}
本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!
本文分享自作者个人站点/博客:https://blog.csdn.net/zlts000复制
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • Windows上必装的10款高效软件,用起来绝对爽!

    不管你是上班族还是学生党,是电脑迷还是技术派,都会常跟电脑打交道。今天好奇仔给大家安利一些Windows上必备的高效软件,逼格满分。

    良月柒
  • 时间就是金钱!Windows 上必装的 10 款高效软件

    不管你是上班族还是学生党,是电脑迷还是技术派,都会常跟电脑打交道。今天好奇仔给大家安利一些Windows上必备的高效软件,逼格满分。

    小小詹同学
  • 我在 GitHub 发现这 3个项目,真绝了!

    说起 Github,大家可能都觉得那只是程序员的聚集地。今天就要告诉大家,Github 不仅仅是 Coder 们的专属,它同时也是一个巨大的资源宝库!

    村雨遥
  • Java中zip的压缩和解压缩

    在Java中可以使用ZipOutputStream和ZipInputStream来实现zip的压缩和解压缩操作,另外使用FileSystem也可以用来实现zip...

    布禾
  • 新手学JAVA(七)----Override VS Overload

    在同一个类中的许多方法可以拥有相同的名字,只要他们的参数声明不同即可,这种方法被称为重载。 举个例子:

    令仔很忙
  • 现在de前端仔真厉害,这些 Linux 知识都懂

    大家好,我是虚竹,偶尔检验一下自己的功夫是否学到家,还得通过不断的吸取精华,才能输出美轮美奂的精彩实用好文。今天先来给大家讲一讲前端如何快速了解 Linux 服...

    玖柒的小窝
  • 重磅!潮玩教父Michael Lau ╳ QQ联名手办空降QTX潮玩展!

    (展会地图,点击可放大) *如因特殊情况发生变动,请以展会当天公布为准 5月1日-5月3日 国际顶级艺术大咖 潮玩教父 Michael Lau 全新力作+特...

    腾讯ISUX
  • 面试官常考的 21 条 Linux 命令

    本文章总结了 21 条最频繁使用的 Linux 命令,也是面试官考察你对 Linux 系统熟不熟常问的面试题,可以收藏本文章,作为一个 Linux 命令速查手册...

    架构之家
  • 如何解压war包_tomcat自动解压war包

    使用WinRAR即可解压,同目录下创建一个.zip文件,右键打开方式->WinRAR压缩文件管理器

    全栈程序员站长
  • 这 21 条 Linux 命令,务必记住!

    本文章总结了 21 条最频繁使用的 Linux 命令,也是面试官考察你对 Linux 系统熟不熟常问的面试题,可以收藏本文章,作为一个 Linux 命令速查手册...

    终码一生
  • centos7通过wget安装tomcat9「建议收藏」

    大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说centos7通过wget安装tomcat9「建议收藏」,希望能够帮助大家进步!!!

    Java架构师必看
  • 【精通Linux系列】Linux文件属性限权操作与文档归档与解压缩

    135088935 -rw-------. 1 root root 1778 Oct 1 2020 yum.log比如这个只有读跟写的权限

    大数据小禅
  • 【云原生】SpringCloud系列之服务调用OpenFeign(日志配置、异常解码器、更改负载均衡策略、替换默认通信组件等)

    当 API 调用失败后,需要有详细的请求信息来分析失败原因,我们可以设置 Feign 的日志级别来输出详细的请求信息,Feign 的日志级别有四种:

    共饮一杯无
  • Hadoop(九)Hadoop IO之Compression和Codecs

      前面一篇介绍了Java怎么去查看数据块的相关信息和怎么去查看文件系统。我们只要知道怎么去查看就行了!接下来我分享的是Hadoop的I/O操作。

    大道七哥
  • 400+条实用C/C++框架、库、工具整理 ,你能想到的都在这里了

    超级值得收藏的C/C++资料宝库,汇总了 400+ 条 C++ 框架、库和工具 。

    Twcat_tree
  • OpenRASP梳理总结

    RASP英文为 Runtime application self-protection,即运行时应用程序自我保护。“运行时应用程序自我保护”的概念由Gartne...

    FB客服
  • 探讨iOS 图片解压缩到渲染过程

    通常计算机在显示是CPU与GPU协同合作完成一次渲染.接下来我们了解一下CPU/GPU等在这样一次渲染过程中,具体的分工是什么?

    编程怪才-凌雨画
  • Hadoop(九)Hadoop IO之Compression和Codecs

    前言   前面一篇介绍了Java怎么去查看数据块的相关信息和怎么去查看文件系统。我们只要知道怎么去查看就行了!接下来我分享的是Hadoop的I/O操作。   在...

    用户1195962

扫码关注腾讯云开发者

领取腾讯云代金券