Java字符串壓縮和解壓縮源碼

在做工程過程中,把做工程過程較好的代碼片段做個收藏奢驯,下邊資料是關(guān)于Java字符串壓縮和解壓縮的代碼申钩,希望能對大家有較大好處。

package com.util;

import java.io.ByteArrayInputStream;

import java.io.ByteArrayOutputStream;

import java.io.IOException;

import java.util.zip.GZIPInputStream;

import java.util.zip.GZIPOutputStream;

public class ZipUtil {

? public static String compress(String str) throws IOException {

? ? if (str == null || str.length() == 0) {

? ? ? return str;

? ? }

? ? ByteArrayOutputStream out = new ByteArrayOutputStream();

? ? GZIPOutputStream gzip = new GZIPOutputStream(out);

? ? gzip.write(str.getBytes());

? ? gzip.close();

? ? return out.toString("ISO-8859-1");

? }

? public static String uncompress(String str) throws IOException {

? ? if (str == null || str.length() == 0) {

? ? ? return str;

? ? }

? ? ByteArrayOutputStream out = new ByteArrayOutputStream();

? ? ByteArrayInputStream in = new ByteArrayInputStream(str

? ? ? ? .getBytes("ISO-8859-1"));

? ? 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();

? }

? public static void main(String[] args) throws IOException {


? String str="%5B%7B%22lastUpdateTime%22%3A%222011-10-28+9%3A39%3A41%22%2C%22smsList%22%3A%5B%7B%22liveState%22%3A%221";


? System.out.println("原長度:"+str.length());?


? System.out.println("壓縮后:"+ZipUtil.compress(str).length());?


? ? System.out.println("解壓縮:"+ZipUtil.uncompress(ZipUtil.compress(str)));

? }

}




運行結(jié)果:

原長度:104

壓縮后:95

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末瘪阁,一起剝皮案震驚了整個濱河市典蜕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌罗洗,老刑警劉巖愉舔,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異伙菜,居然都是意外死亡轩缤,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進店門贩绕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來火的,“玉大人,你說我怎么就攤上這事淑倾×蠛祝” “怎么了?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵娇哆,是天一觀的道長湃累。 經(jīng)常有香客問我,道長碍讨,這世上最難降的妖魔是什么治力? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮勃黍,結(jié)果婚禮上宵统,老公的妹妹穿的比我還像新娘。我一直安慰自己覆获,他們只是感情好马澈,可當(dāng)我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著弄息,像睡著了一般痊班。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上疑枯,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天辩块,我揣著相機與錄音,去河邊找鬼荆永。 笑死废亭,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的具钥。 我是一名探鬼主播豆村,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼骂删!你這毒婦竟也來了掌动?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤宁玫,失蹤者是張志新(化名)和其女友劉穎粗恢,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體欧瘪,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡眷射,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了佛掖。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片妖碉。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖芥被,靈堂內(nèi)的尸體忽然破棺而出欧宜,到底是詐尸還是另有隱情,我是刑警寧澤拴魄,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布冗茸,位于F島的核電站,受9級特大地震影響匹中,放射性物質(zhì)發(fā)生泄漏蚀狰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一职员、第九天 我趴在偏房一處隱蔽的房頂上張望麻蹋。 院中可真熱鬧,春花似錦焊切、人聲如沸扮授。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽刹勃。三九已至,卻和暖如春嚎尤,著一層夾襖步出監(jiān)牢的瞬間荔仁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留乏梁,地道東北人次洼。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像遇骑,于是被迫代替她去往敵國和親卖毁。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內(nèi)容