Android GZIP压缩与解压工具类
来源:互联网 发布:软件安全性测试 编辑:程序博客网 时间:2024/06/05 05:33
- 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;
- }
- /*
- * 字符串压缩为字节数组
- */
- 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();
- }
- /*
- * 字符串压缩为字节数组
- */
- 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();
- }
- /*
- * 字节数组解压缩后返回字符串
- */
- 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();
- }
- /*
- * 字节数组解压缩后返回字符串
- */
- 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;
- }
- }
0 0
- Android GZIP压缩与解压工具类
- Gzip压缩和解压文件工具类
- 压缩/解压ZIP/GZIP工具类
- java gzip 压缩解压工具类
- GZIP压缩解压类
- GZIP压缩解压类
- J2ME gzip压缩与解压
- GZIP简单压缩与解压
- Python Gzip压缩与解压模块
- java中Gzip压缩与解压技术
- http通信,Android Gzip压缩解压
- Java_压缩与解压工具类
- gzip解压和压缩
- Gzip压缩和解压
- GZIP压缩和解压
- Gzip解压和压缩
- Gzip压缩数据解压
- GZip压缩解压
- Oracle 11g必须开启的服务
- 线性代数基础
- 一些shell命令
- storm多种编程语言优缺点
- 搭建nginx负载均衡
- Android GZIP压缩与解压工具类
- 地图map开放平台总集:百度地图,腾讯地图,高德地图
- SylixOS使用串口传输文件(2)
- springmvc配置多数据源
- fork函数替换为SylixOS进程技术笔记
- centos之lnmp安装 nginx负载均衡
- python--类
- in与exist , not in与not exist 的区别
- Hadoop那些事儿(三)---MapReduce编程浅析