zoukankan      html  css  js  c++  java
  • 对数据进行GZIP压缩和解压

    public class GzipUtils {
    
        /**
         * 对字符串进行gzip压缩
         * @param data
         * @return
         * @throws IOException 
         */
        public static String compress(String data) throws IOException {
            if (null == data || data.length() <= 0) {
                return data;
            }
            //创建一个新的byte数组输出流
            ByteArrayOutputStream out = new ByteArrayOutputStream();
            //使用默认缓冲区大小创建新的输出流
            GZIPOutputStream gzip = new GZIPOutputStream(out);
            //将b.length个字节写入此输出流
            gzip.write(data.getBytes());
            gzip.flush();
            gzip.close();
            
            //使用指定的charsetName,通过解码字节将缓冲区内容转换为字符串
            return out.toString("ISO-8859-1");
        }
        
        /**
         * 对字符串进行解压缩
         * @param data
         * @return
         * @throws Exception 
         */
        public static String unCompress(String data) throws Exception {
            if (null == data && data.length() <= 0) {
                return data;
            }
            //创建一个新的byte数组输出流
            ByteArrayOutputStream out = new ByteArrayOutputStream();
            //创建一个byte数组输入流
            ByteArrayInputStream in = new ByteArrayInputStream(data.getBytes("ISO-8859-1"));
            //创建gzip输入流
            GZIPInputStream gzip = new GZIPInputStream(in);
            byte[] buf = new byte[1024];
            int len = 0;
            while ((len = gzip.read(buf)) >= 0) {
                out.write(buf, 0, len);
            }
            // 使用指定的 charsetName,通过解码字节将缓冲区内容转换为字符串
            return out.toString("UTF-8");
        }

    Gzip压缩和解压数据代码

  • 相关阅读:
    ES 设置管理
    ES 数据搜索(1)
    ES 集群管理及基本操作
    ES 安装
    ES 基本概念
    HBase 缓存
    【Linux】【8】切换JDK版本时报错,bash: ./java: cannot execute binary file
    【Linux】【7】常用命令-目录处理命令
    【Linux】【6】Java项目打成Jar包后部署至服务器上
    【Linux】【5】安装jdk1.8并配置环境变量,以及切换jdk
  • 原文地址:https://www.cnblogs.com/atomicbomb/p/6647611.html
Copyright © 2011-2022 走看看