GZIP压缩、解压缩工具类
2017-01-12 15:19
134 查看
GZIP压缩、解压缩工具类:
public class GZIPUtiles { public static String compress(String str) throws IOException { if (null == str || str.length() <= 0) { return str; } // 创建一个新的输出流 ByteArrayOutputStream out = new ByteArrayOutputStream(); // 使用默认缓冲区大小创建新的输出流 GZIPOutputStream gzip = new GZIPOutputStream(out); // 将字节写入此输出流 gzip.write(str.getBytes("utf-8")); //因为后台默认字符集有可能是GBK字符集,所以此处需指定一个字符集 gzip.close(); // 使用指定的 charsetName,通过解码字节将缓冲区内容转换为字符串 return out.toString("ISO-8859-1"); } public static String unCompress(String str) throws IOException { if (null == str || str.length() <= 0) { return str; } // 创建一个新的输出流 ByteArrayOutputStream out = new ByteArrayOutputStream(); // 创建一个 ByteArrayInputStream,使用 buf 作为其缓冲区数组 ByteArrayInputStream in = new ByteArrayInputStream(str.getBytes("ISO-8859-1")); // 使用默认缓冲区大小创建新的输入流 GZIPInputStream gzip = new GZIPInputStream(in); byte[] buffer = new byte[256]; int n = 0; // 将未压缩数据读入字节数组 while ((n = gzip.read(buffer)) >= 0){ out.write(buffer, 0, n); } // 使用指定的 charsetName,通过解码字节将缓冲区内容转换为字符串 //String string = out.toString("utf-8"); //String unescapeJava = StringEscapeUtils.unescapeJava(string); return out.toString("utf-8"); } }
相关文章推荐
- (转)Docker - 创建 Docker overlay network (containers 通信)
- OGG学习笔记01-基础概述
- java入门,学习笔记
- python学习记录--set
- Centos6.5 安装启动Nginx
- YATE界面生成模板引擎 《Head First Python》第七章
- prototype与__proto__的含义、区别以及使用场景
- JAVA基础【4.2】《Java核心技术1》对象与类-单例模式
- 软件架构入门
- poj 1724 ROADS
- HTTP ETag流程
- win7 64位安装redis 及Redis Desktop Manager使用
- js中引入图片的方式
- JAVA基础【4.1】《Java核心技术1》对象与类
- linux之ldconfig工具的使用
- zookeeper和dubbo
- WebStorm11 控制台中文乱码解决方案
- Linux下增加User及添加sudo权限
- QT5.7.0 arm开发环境搭建
- 如何把VSAN Cluster从一个vCenter迁移到另外的vCenter