Deflater与Inflater的压缩与解压缩
来源:互联网 发布:餐饮业数据分析 编辑:程序博客网 时间:2024/05/16 18:16
package util;import java.util.Arrays;import java.util.zip.Deflater;import java.util.zip.Inflater;import org.apache.commons.codec.binary.Base64;public class StringZlibUtil {/** * 用zlib压缩 * @param message * @return * @throws Exception */public static byte[] zlibCompress(String message)throws Exception{String chatacter="UTF-8";byte[] input = message.getBytes(chatacter);System.out.println("input length "+input.length); byte[] output = new byte[input.length+10+new Double(Math.ceil(input.length*0.25f)).intValue()]; System.out.println(output.length); Deflater compresser = new Deflater(); compresser.setInput(input); compresser.finish(); int compressedDataLength = compresser.deflate(output); System.out.println("compressedDataLength "+compressedDataLength); compresser.end(); //String ostr=new String(output,0,compressedDataLength,chatacter); //System.out.println("out str "+ostr); return Arrays.copyOf(output, compressedDataLength);}/** * 解压缩 * @param barr 需要解压缩的字节数组 * @param charater 对应压缩时的编码方式 * @return * @throws Exception */public static byte[] zlibInfCompress(byte[] barr,String charater)throws Exception{byte[] result=new byte[2014];Inflater inf=new Inflater();inf.setInput(barr);int infLen=inf.inflate(result);inf.end();String strOgr=new String(result,charater);System.out.println("str ogr "+strOgr);return Arrays.copyOf(result, infLen);}public static void main(String[] args)throws Exception{String str="abcde|qqqqqqqqqqqqqqq|wwwwwwwwwwwwwwwwwwww";//方法一:/*byte[] def=StringZlibUtil.zlibCompress(str);byte[] inf=StringZlibUtil.zlibInfCompress(def, "UTF-8");String strOgr=new String(inf,"UTF-8");System.out.println("str org main "+strOgr);*///方法二:以下是使用基本base64的编码与解码byte[] def=StringZlibUtil.zlibCompress(str);String strBase=Base64.encodeBase64String(def);System.out.println("str base64 string "+strBase);byte[] decStr=Base64.decodeBase64(strBase);byte[] decode_str=StringZlibUtil.zlibInfCompress(decStr, "UTF-8");String decStrOgr=new String(decode_str,"UTF-8");System.out.println("decStrOgr "+decStrOgr);}}
0 0
- Deflater与Inflater的压缩与解压缩
- 用Deflater与Inflater实现字节的压缩与解压
- java deflater压缩 inflater解压
- Deflater、Inflater压缩解压示例
- Deflater 和 Inflater 压缩和解压缩字符串
- Deflater 和 Inflater 的用法
- java 压缩类使用 Deflater 和 Inflater
- 关于Inflater和Deflater的简单用法
- 文件的压缩与解压缩
- 压缩与解压缩的实现
- 压缩与解压缩的原理
- Linux的压缩与解压缩
- 压缩与解压缩 ZipHelper
- VB解压缩与压缩
- linux压缩与解压缩
- 压缩与解压缩 ZipHelper
- 压缩与解压缩
- 文件压缩与解压缩
- 《Linux》天影linux系列笔记一——linux常用命令详解:cat
- iOS 获取类的全部属性和全部方法 +(用例拓展:MVC的数据解析==数据映射)
- 电脑故障排除的常用方法
- 暑期培训计划之个人计划
- 模拟登录
- Deflater与Inflater的压缩与解压缩
- 关于mysql数据库如何修改添加Date格式的列
- GDB学习
- shell || exit 1
- hdu 1754 splay tree伸展树 初战(单点更新,区间属性查询)
- POJ 2299 Ultra-QuickSort
- jquery.validate+jquery.form提交的三种方式
- UVA 340 - Master-Mind Hints
- 猴子选大王