GZIP压缩JSON,JSON压缩

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

这个是我之前在网上找的,但是一直在使用。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  json@sojson.com
 * @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在线解析

原文地址:https://www.sojson.com/blog/21.html

转载时必须以链接形式注明原始出处及本声明。

本文主题:

如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。

关于作者
一个低调而闷骚的男人。
相关文章
GZIP压缩JSONJSON压缩
JSON压缩算法 JSON.hpack ,JSON压缩实现
Freemarker 教程,Freemarker 压缩HTML成一行
Javascript 加密/压缩后运行不了,JavaScript报错排查讲解
CSS简单压缩小工具、不错,推荐下。
谈谈这次对 SOJSON 的改版
city.json
cpu资源采集.json
SQL Server 对JSON的支持
json 解析与生成工具类 ,JSON操作讲解(附件)
最新文章
Flink 在又拍云日志批处理中的实践 8246
个推异常值检测和实战应用-又拍云 1582
TCP 和 UDP协议详细讲解,优缺点分析讲解 7956
URL中乱七八糟的字符讲解,来源以及如何解决 5099
HTTP/3 来了,您真的了解它么? 6149
当我谈 HTTP 时,我谈些什么? 11706
新浪短链(t.cn)最新申请官方API的方法讲解。 72609
QUIC / HTTP3 协议详细分析讲解 10479
恭喜那个做云存储的七牛云完成 F 轮 10 亿人民币的融资,开启新的云旅程 8770
Autojs怎么安全加密?Autojs在线加密工具注意事项。 36577
最热文章
苹果电脑Mac怎么恢复出厂系统?苹果系统怎么重装系统? 652590
最新MyEclipse8.5注册码,有效期到2020年 (已经更新) 601980
我为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比 495809
免费天气API,全国天气 JSON API接口,可以获取五天的天气预报 490773
Jackson 时间格式化,时间注解 @JsonFormat 用法、时差问题说明 490398
Elasticsearch教程(四) elasticsearch head 插件安装和使用 449289
Java 信任所有SSL证书,HTTPS请求抛错,忽略证书请求完美解决 228670
谈谈斐讯路由器劫持,你用斐讯路由器,你需要知道的事情 203180
Elasticsearch教程(一),全程直播(小白级别) 191873
Jackson 美化输出JSON,优雅的输出JSON数据,格式化输出JSON数据... ... 175328
支付扫码

所有赞助/开支都讲公开明细,用于网站维护:赞助名单查看

查看我的收藏

正在加载... ...