import java.io.IOException;
import java.util.zip.GZIPOutputStream;
import org.apache.commons.io.output.ByteArrayOutputStream;
//该ByteArrayOutputStream类比jdk的同类好!细看其javadoc:In contrast to the original it doesn't reallocate the whole memory block but allocates additional buffers.
//(压缩都是基于字节码而非字符)
public class TextZip {
public static void main(String[] args) throws IOException {
byte[] bytes = "中文撒大撒大发送大大三大四大赛的温热她跟他中文撒大撒大发送大大大三送大大三大四大赛的温热她跟他中文撒大撒大发送大大大三大四大赛的温热她跟他中文撒大撒大发送大大三大四大赛的温热她跟他"
.getBytes();
//对bytes压缩
ByteArrayOutputStream byteOutput = new ByteArrayOutputStream(1024);
GZIPOutputStream gzipOutput = new GZIPOutputStream(byteOutput, 1024);
gzipOutput.write(bytes);
gzipOutput.close();
//验证一下压缩后的效果对比
System.out.println(bytes.length);
for (byte b : bytes) {
System.out.print(b + " ");
}
System.out.println();
byte[] bytes2 = byteOutput.toByteArray();
System.out.println(bytes2.length);
for (byte b : bytes2) {
System.out.print(b + " ");
}
}
}
效果:
270
-28 -72 -83 -26 -106 -121 -26 -110 -110 -27 -92 -89 -26 -110 -110 -27 -92 -89 -27 -113 -111 -23 -128 -127 -27 -92 -89 -27 -92 -89 -28 -72 -119 -27 -92 -89 -27 -101 -101 -27 -92 -89 -24 -75 -101 -25 -102 -124 -26 -72 -87 -25 -125 -83 -27 -91 -71 -24 -73 -97 -28 -69 -106 -28 -72 -83 -26 -106 -121 -26 -110 -110 -27 -92 -89 -26 -110 -110 -27 -92 -89 -27 -113 -111 -23 -128 -127 -27 -92 -89 -27 -92 -89 -27 -92 -89 -28 -72 -119 -23 -128 -127 -27 -92 -89 -27 -92 -89 -28 -72 -119 -27 -92 -89 -27 -101 -101 -27 -92 -89 -24 -75 -101 -25 -102 -124 -26 -72 -87 -25 -125 -83 -27 -91 -71 -24 -73 -97 -28 -69 -106 -28 -72 -83 -26 -106 -121 -26 -110 -110 -27 -92 -89 -26 -110 -110 -27 -92 -89 -27 -113 -111 -23 -128 -127 -27 -92 -89 -27 -92 -89 -27 -92 -89 -28 -72 -119 -27 -92 -89 -27 -101 -101 -27 -92 -89 -24 -75 -101 -25 -102 -124 -26 -72 -87 -25 -125 -83 -27 -91 -71 -24 -73 -97 -28 -69 -106 -28 -72 -83 -26 -106 -121 -26 -110 -110 -27 -92 -89 -26 -110 -110 -27 -92 -89 -27 -113 -111 -23 -128 -127 -27 -92 -89 -27 -92 -89 -28 -72 -119 -27 -92 -89 -27 -101 -101 -27 -92 -89 -24 -75 -101 -25 -102 -124 -26 -72 -87 -25 -125 -83 -27 -91 -71 -24 -73 -97 -28 -69 -106
90
31 -117 8 0 0 0 0 0 0 0 123 -78 99 -19 -77 105 -19 -49 38 77 122 -70 100 57 -124 124 -38 63 -15 101 67 35 -120 -79 100 -7 -109 29 -99 32 -58 -20 -39 64 -14 -59 -42 -39 -49 103 -75 60 -37 -79 -14 121 -13 -38 -89 75 119 -66 -40 62 -1 -55 -18 105 79 -16 106 -121 -104 64 93 -45 40 49 -127 -96 118 0 -76 10 12 52 14 1 0 0
分享到:
相关推荐
第一个软件,传输流/文件的压缩,利用Internet中惯常使用的gzip, deflate算法,可以和sun java的GZipInputStream和GZipOutputStream互操作 第二个软件,基于HTTP的压缩传输软件,可完全和IE的VBScript和...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...
2个目标文件 摘要:Java源码,文件操作,TCP,服务器 Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。...
10.8.1 用GZIP进行简单压缩 10.8.2 用Zip进行多文件保存 10.8.3 Java归档(jar)实用程序 10.9 对象串联 10.9.1 寻找类 10.9.2 序列化的控制 10.9.3 利用“持久性” 10.10 总结 10.11 练习 第11章 运行期类型鉴定 ...
10.8.1 用GZIP进行简单压缩 10.8.2 用Zip进行多文件保存 10.8.3 Java归档(jar)实用程序 10.9 对象串联 10.9.1 寻找类 10.9.2 序列化的控制 10.9.3 利用“持久性” 10.10 总结 10.11 练习 第11章 运行期类型鉴定 ...
10.8.1 用GZIP进行简单压缩 10.8.2 用Zip进行多文件保存 10.8.3 Java归档(jar)实用程序 10.9 对象串联 10.9.1 寻找类 10.9.2 序列化的控制 10.9.3 利用“持久性” 10.10 总结 10.11 练习 第11章 运行期类型鉴定 ...
2个目标文件 摘要:Java源码,文件操作,TCP,服务器 Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。...
10.8.1 用GZIP进行简单压缩 10.8.2 用Zip进行多文件保存 10.8.3 Java归档(jar)实用程序 10.9 对象串联 10.9.1 寻找类 10.9.2 序列化的控制 10.9.3 利用“持久性” 10.10 总结 10.11 练习 第11章 运行期类型鉴定 ...
10.8.1 用GZIP进行简单压缩 10.8.2 用Zip进行多文件保存 10.8.3 Java归档(jar)实用程序 10.9 对象串联 10.9.1 寻找类 10.9.2 序列化的控制 10.9.3 利用“持久性” 10.10 总结 10.11 练习 第11章 运行期类型鉴定 ...
10.8.1 用GZIP进行简单压缩 10.8.2 用Zip进行多文件保存 10.8.3 Java归档(jar)实用程序 10.9 对象串联 10.9.1 寻找类 10.9.2 序列化的控制 10.9.3 利用“持久性” 10.10 总结 10.11 练习 第11章 运行期类型鉴定 ...
包括条形码操作工具、二维码操作、图片验证码工具、动态密码工具、雪花算法id工具、签名工具、poi导出、json转换、文件操作、分页、日期处理、jdbc、大数运算及格式化、gzip压缩、http 结构说明如下: ...
实例53 用GZIP压缩解压文件 实例54 用Zip压缩多个文件 实例55 从压缩包中提取文件 实例56 zip压缩包查看程序 实例57 压缩中文文件名的文件 实例58 存储与读取对象 实例59 Java画图程序 实例60 从网络取得图像 实例61...
基础及Java Web 相关资料 Http1与Http2的区别? 1、HTTP2使用的是二进制传送,HTTP1.X是文本(字符串)传送。 大家都知道HTTP1.X使用的是明文的文本传送,而HTTP2使用的是二进制传送,二进制传送的单位是帧和 流。帧...
自己做的文本压缩实验,含有huffman、lzw、gzip等算法,通过实验数据详细比较了各种算法的优缺点。并且将压缩、解压缩的方法已经封装好,直接调用即可。压缩包内附文档,有实验数据和调用方法。