GZIP壓縮JSON,JSON壓縮

JSON 2016-08-29 22:55:09 24508

這個是我之前在網上找的,但是一直在使用。JSON壓縮可以使用,字符串壓縮也可以使用。

直接上代碼。

package snippet;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
/**
 * 
 * 開發公司:sojson.com<br/>
 * 版權:sojson.com<br/>
 * <p>
 * 
 * 字符串壓縮
 * 
 * <p>
 * 
 * 區分 責任人 日期    說明<br/>
 * 創建 周柏成 2015年12月19日  <br/>
 * <p>
 * *******
 * <p>
 * @author zhou-baicheng
 * @email  [email protected]
 * @version 1.0,2015年12月19日 <br/>
 * 
 */
public class GZIP {

	/**
 * 字符串的壓縮
 * 
 * @param str
 *            待壓縮的字符串
 * @return 返回壓縮后的字符串
 * @throws IOException
 */
public static String compress(String str) throws IOException {
	if (null == str || str.length() <= 0) {
		return str;
	}
	// 創建一個新的 byte 數組輸出流
	ByteArrayOutputStream out = new ByteArrayOutputStream();
	// 使用默認緩沖區大小創建新的輸出流
	GZIPOutputStream gzip = new GZIPOutputStream(out);
	// 將 b.length 個字節寫入此輸出流
	gzip.write(str.getBytes());
	gzip.close();
	// 使用指定的 charsetName,通過解碼字節將緩沖區內容轉換為字符串
	return out.toString("UTF-8");
}

/**
 * 字符串的解壓
 * 
 * @param str
 *            對字符串解壓
 * @return 返回解壓縮后的字符串
 * @throws IOException
 */
public static String unCompress(String str) throws IOException {
	if (null == str || str.length() <= 0) {
		return str;
	}
	// 創建一個新的 byte 數組輸出流
	ByteArrayOutputStream out = new ByteArrayOutputStream();
	// 創建一個 ByteArrayInputStream,使用 buf 作為其緩沖區數組
	ByteArrayInputStream in = new ByteArrayInputStream(str
			.getBytes("UTF-8"));
	// 使用默認緩沖區大小創建新的輸入流
	GZIPInputStream gzip = new GZIPInputStream(in);
	byte[] buffer = new byte[256];
	int n = 0;
	while ((n = gzip.read(buffer)) >= 0) {// 將未壓縮數據讀入字節數組
		// 將指定 byte 數組中從偏移量 off 開始的 len 個字節寫入此 byte數組輸出流
		out.write(buffer, 0, n);
	}
	// 使用指定的 charsetName,通過解碼字節將緩沖區內容轉換為字符串
	return out.toString("UTF-8");
	}

}


版權所屬:SO JSON在線解析

原文地址:http://www.267332.tw/blog/21.html

轉載時必須以鏈接形式注明原始出處及本聲明。

本文主題:

如果本文對你有幫助,那么請你贊助我,讓我更有激情的寫下去,幫助更多的人。

關于作者
一個低調而悶騷的男人。
相關文章
最新文章
當我談 HTTP 時,我談些什么? 2309
新浪短鏈(t.cn)最新申請官方API的方法講解。 14080
QUIC / HTTP3 協議詳細分析講解 2032
恭喜那個做云存儲的七牛云完成 F 輪 10 億人民幣的融資,開啟新的云旅程 3013
Autojs怎么安全加密?Autojs在線加密工具注意事項。 5990
Java JSON 組件選型之 FastJson 為什么總有漏洞? 17455
使用七牛云存儲實現圖片API,自動刪除圖片方案合集 3464
神速ICP備案經驗分享,ICP備案居然一天就通過了 4686
百度加強推送URL鏈接,百度SEO強行推送鏈接JavaScript代碼案例講解。 4598
SOJSON 拓展服務器被DDos攻擊了一晚上,是如何解決的? 6204
最熱文章
蘋果電腦Mac怎么恢復出廠系統?蘋果系統怎么重裝系統? 491138
我為什么要選擇RabbitMQ ,RabbitMQ簡介,各種MQ選型對比 441992
最新MyEclipse8.5注冊碼,有效期到2020年 (已經更新) 391434
免費天氣API,全國天氣 JSON API接口,可以獲取五天的天氣預報 380810
Elasticsearch教程(四) elasticsearch head 插件安裝和使用 257521
Jackson 時間格式化,時間注解 @JsonFormat 用法、時差問題說明 227675
談談斐訊路由器劫持,你用斐訊路由器,你需要知道的事情 156112
Elasticsearch教程(一),全程直播(小白級別) 133687
Java 信任所有SSL證書,HTTPS請求拋錯,忽略證書請求完美解決 121589
Elasticsearch教程(五) elasticsearch Mapping的創建 106633
支付掃碼

所有贊助/開支都講公開明細,用于網站維護:贊助名單查看

查看我的收藏

正在加載... ...

广西十一选5开奖结