全网整合营销服务商

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

免费咨询热线: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 


相关文章: 枣阳网站制作,阳新火车站打的到仙岛湖多少钱?  独立制作一个网站多少钱,建立网站需要花多少钱?  如何选择PHP开源工具快速搭建网站?  微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?  如何快速登录WAP自助建站平台?  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  如何通过cPanel快速搭建网站?  官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站  沈阳制作网站公司排名,沈阳装饰协会官方网站?  宁波免费建站如何选择可靠模板与平台?  如何在Windows服务器上快速搭建网站?  如何在Golang中引入测试模块_Golang测试包导入与使用实践  开封网站制作公司,网络用语开封是什么意思?  建站之星后台管理系统如何操作?  如何通过商城自助建站源码实现零基础高效建站?  临沂网站制作公司有哪些,临沂第四中学官网?  Android滚轮选择时间控件使用详解  建站之星导航配置指南:自助建站与SEO优化全解析  建站之星如何实现PC+手机+微信网站五合一建站?  简易网站制作视频教程,使用记事本编写一个简单的网页html文件?  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?  如何在Windows 2008云服务器安全搭建网站?  怎么将XML数据可视化 D3.js加载XML  制作表格网站有哪些,线上表格怎么弄?  网站建设设计制作营销公司南阳,如何策划设计和建设网站?  免费公司网站制作软件,如何申请免费主页空间做自己的网站?  名字制作网站免费,所有小说网站的名字?  如何快速搭建高效WAP手机网站?  Python多线程使用规范_线程安全解析【教程】  GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?  潍坊网站制作公司有哪些,潍坊哪家招聘网站好?  宝塔建站教程:一键部署配置流程与SEO优化实战指南  建站与域名管理如何高效结合?  如何快速查询网站的真实建站时间?  相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?  招贴海报怎么做,什么是海报招贴?  建站之星Pro快速搭建教程:模板选择与功能配置指南  如何在香港免费服务器上快速搭建网站?  如何零基础在云服务器搭建WordPress站点?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  如何选择适配移动端的WAP自助建站平台?  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本  网站插件制作软件免费下载,网页视频怎么下到本地插件?  浅谈Javascript中的Label语句  如何快速搭建FTP站点实现文件共享?  c# await 一个已经完成的Task会发生什么  如何做静态网页,sublimetext3.0制作静态网页?  保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息? 

您的项目需求

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