成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

java中GZIP壓縮解壓類使用實例

java中GZIP壓縮解壓類使用實例

成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領(lǐng)域包括:網(wǎng)站建設、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的南票網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!

   當我們客戶端與服務端進行數(shù)據(jù)傳輸時需要走流量,為了節(jié)省流量我們常常需要寫一個壓縮類對數(shù)據(jù)進行壓縮。

實例代碼:

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; 
  } 
 
  /* 
   * 字符串壓縮為字節(jié)數(shù)組 
   */ 
  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(); 
  } 
 
  /* 
   * 字符串壓縮為字節(jié)數(shù)組 
   */ 
  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(); 
  } 
 
  /* 
   * 字節(jié)數(shù)組解壓縮后返回字符串 
   */ 
  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(); 
  } 
 
  /* 
   * 字節(jié)數(shù)組解壓縮后返回字符串 
   */ 
  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壓縮解壓類使用實例
本文來源:http://jinyejixie.com/article16/joghgg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、企業(yè)建站、小程序開發(fā)、網(wǎng)站建設企業(yè)網(wǎng)站制作、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司
琼海市| 屏山县| 四子王旗| 东乡县| 宣恩县| 赞皇县| 青浦区| 邵东县| 万全县| 夏河县| 梓潼县| 江门市| 武城县| 齐齐哈尔市| 恩施市| 鹿邑县| 上杭县| 拜城县| 彭阳县| 耒阳市| 秦皇岛市| 夏河县| 石阡县| 潼南县| 石门县| 博野县| 灵宝市| 沙河市| 清丰县| 长海县| 宁化县| 公安县| 甘德县| 屏边| 当涂县| 筠连县| 富民县| 高碑店市| 大庆市| 资溪县| 宁武县|