java中GZIP压缩解压类使用实例
程序员文章站
2024-03-31 18:37:40
java中gzip压缩解压类使用实例
当我们客户端与服务端进行数据传输时需要走流量,为了节省流量我们常常需要写一个压缩类对数据进行压缩。
实例...
java中gzip压缩解压类使用实例
当我们客户端与服务端进行数据传输时需要走流量,为了节省流量我们常常需要写一个压缩类对数据进行压缩。
实例代码:
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; } }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
推荐阅读
-
java中GZIP压缩解压类使用实例
-
java中GZIP压缩解压类使用实例
-
java实现linux中gzip压缩解压缩算法:byte[]字节数组,文件,字符串,数据流的压缩解压缩
-
java 压缩和解压缩Zip、Jar、Gzip文件实例代码
-
java 压缩和解压缩Zip、Jar、Gzip文件实例代码
-
java ant包中的org.apache.tools.zip实现压缩和解压缩实例详解
-
Java使用GZIP进行压缩和解压
-
java ant包中的org.apache.tools.zip实现压缩和解压缩实例详解
-
使用java基础类实现zip压缩和zip解压工具类分享
-
java使用gzip实现文件解压缩示例