全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

java中GZIP压缩解压类使用实例

java中GZIP压缩解压类使用实例

   当我们客户端与服务端进行数据传输时需要走流量,为了节省流量我们常常需要写一个压缩类对数据进行压缩。

实例代码:

import java.io.ByteArrayInputStream; 
import java.io.ByteArrayOutputStream; 
import java.io.IOException; 
import java.util.zip.GZIPInputStream; 
import java.util.zip.GZIPOutputStream; 
 
/** 
 * GZIP压缩解压类 
 */ 
public class MessageGZIP { 
   
  private static String encode = "utf-8";//"ISO-8859-1" 
   
  public String getEncode() { 
    return encode; 
  } 
 
  /* 
   * 设置 编码,默认编码:UTF-8 
   */ 
  public void setEncode(String encode) { 
    MessageGZIP.encode = encode; 
  } 
 
  /* 
   * 字符串压缩为字节数组 
   */ 
  public static byte[] compressToByte(String str){ 
    if (str == null || str.length() == 0) { 
      return null; 
    } 
    ByteArrayOutputStream out = new ByteArrayOutputStream(); 
    GZIPOutputStream gzip; 
    try { 
      gzip = new GZIPOutputStream(out); 
      gzip.write(str.getBytes(encode)); 
      gzip.close(); 
    } catch (IOException e) { 
      e.printStackTrace(); 
    } 
    return out.toByteArray(); 
  } 
 
  /* 
   * 字符串压缩为字节数组 
   */ 
  public static byte[] compressToByte(String str,String encoding){ 
    if (str == null || str.length() == 0) { 
      return null; 
    } 
    ByteArrayOutputStream out = new ByteArrayOutputStream(); 
    GZIPOutputStream gzip; 
    try { 
      gzip = new GZIPOutputStream(out); 
      gzip.write(str.getBytes(encoding)); 
      gzip.close(); 
    } catch (IOException e) { 
      e.printStackTrace(); 
    } 
    return out.toByteArray(); 
  } 
 
  /* 
   * 字节数组解压缩后返回字符串 
   */ 
  public static String uncompressToString(byte[] b) { 
    if (b == null || b.length == 0) { 
      return null; 
    } 
    ByteArrayOutputStream out = new ByteArrayOutputStream(); 
    ByteArrayInputStream in = new ByteArrayInputStream(b); 
 
    try { 
      GZIPInputStream gunzip = new GZIPInputStream(in); 
      byte[] buffer = new byte[256]; 
      int n; 
      while ((n = gunzip.read(buffer)) >= 0) { 
        out.write(buffer, 0, n); 
      } 
    } catch (IOException e) { 
      e.printStackTrace(); 
    } 
    return out.toString(); 
  } 
 
  /* 
   * 字节数组解压缩后返回字符串 
   */ 
  public static String uncompressToString(byte[] b, String encoding) { 
    if (b == null || b.length == 0) { 
      return null; 
    } 
    ByteArrayOutputStream out = new ByteArrayOutputStream(); 
    ByteArrayInputStream in = new ByteArrayInputStream(b); 
 
    try { 
      GZIPInputStream gunzip = new GZIPInputStream(in); 
      byte[] buffer = new byte[256]; 
      int n; 
      while ((n = gunzip.read(buffer)) >= 0) { 
        out.write(buffer, 0, n); 
      } 
      return out.toString(encoding); 
    } catch (IOException e) { 
      e.printStackTrace(); 
    } 
    return null; 
  } 
} 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# java  # GZIP压缩解压类  # GZIP使用方法  # Java GZIP压缩与解压缩代码实例  # Java实现文件压缩与解压的示例[zip格式  # gzip格式]  # java 压缩和解压缩Zip、Jar、Gzip文件实例代码  # java使用gzip实现文件解压缩示例  # Java GZip 基于内存实现压缩和解压的方法  # 解压缩  # 压缩解压  # 希望能  # 要走  # 当我们  # 谢谢大家  # 服务端  # 时需  # 客户端  # GZIPOutputStream  # GZIPInputStream  # IOException  # util  # zip  # public  # static  # private  # String  # MessageGZIP  # encode 


相关文章: 如何选择网络建站服务器?高效建站必看指南  如何做网站制作流程,*游戏网站怎么搭建?  建站之星备案是否影响网站上线时间?  如何在宝塔面板中修改默认建站目录?  如何用VPS主机快速搭建个人网站?  建站之星如何一键生成手机站?  如何用好域名打造高点击率的自主建站?  广州美橙建站如何快速搭建多端合一网站?  阿里云网站制作公司,阿里云快速搭建网站好用吗?  如何通过VPS建站实现广告与增值服务盈利?  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  建站主机服务器选型指南与性能优化方案解析  大学网站设计制作软件有哪些,如何将网站制作成自己app?  如何通过万网虚拟主机快速搭建网站?  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?  制作农业网站的软件,比较好的农业网站推荐一下?  如何在阿里云虚拟服务器快速搭建网站?  如何在阿里云香港服务器快速搭建网站?  网站插件制作软件免费下载,网页视频怎么下到本地插件?  三星网站视频制作教程下载,三星w23网页如何全屏?  如何用景安虚拟主机手机版绑定域名建站?  浅谈Javascript中的Label语句  如何用wdcp快速搭建高效网站?  定制建站如何定义?其核心优势是什么?  如何选购建站域名与空间?自助平台全解析  网站制作公司,橙子建站是合法的吗?  制作网站的软件免费下载,免费制作app哪个平台好?  台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?  如何快速搭建高效简练网站?  c# 在高并发场景下,委托和接口调用的性能对比  建站ABC备案流程中有哪些关键注意事项?  如何配置WinSCP新建站点的密钥验证步骤?  如何在云主机上快速搭建网站?  如何快速建站并高效导出源代码?  c# Task.ConfigureAwait(true) 在什么场景下是必须的  建站之星如何助力网站排名飙升?揭秘高效技巧  如何快速查询网址的建站时间与历史轨迹?  如何在阿里云购买域名并搭建网站?  建站之星客服服务时间及联系方式如何?  建站主机是什么?如何选择适合的建站主机?  郑州企业网站制作公司,郑州招聘网站有哪些?  北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?  如何在景安服务器上快速搭建个人网站?  在线教育网站制作平台,山西立德教育官网?  如何在腾讯云服务器快速搭建个人网站?  个人网站制作流程图片大全,个人网站如何注销?  c# 在高并发下使用反射发射(Reflection.Emit)的性能  沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?  七夕网站制作视频,七夕大促活动怎么报名? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。