JAVA数据压缩简单测试
本段代码只是做了简单的测试,看是否可行,此处仅作笔记。适应用场合,比如数据库,数据缓存。压缩解压肯定是有资源消耗的! 当数据小于500byte时就没有压缩的必要了 @Test
public void zip() throws Exception{
StringBuffer sb = new StringBuffer();
sb.append("测试清单 4 和 5,编译类文件并运行类Zip来创建一个压缩档案(程序会计算出checksum值并显示在屏幕上),然后运行UnZip类来解压缩这个档案(屏幕上同样会打印出一个checksum值)。两个值必须完全相同,否则说明出错了。Checksums在数据校验方面非常有用。例如,你可以创建一个ZIP文件,然后连同checksum值一同传递给你的朋友。你的朋友解压缩文件后,将生成的checksum值与你提供的作一比较,如果相同则说明在传递过程中没有发生错误。");
sb.append("测试清单 4 和 5,编译类文件并运行类Zip来创建一个压缩档案(程序会计算出checksum值并显示在屏幕上),然后运行UnZip类来解压缩这个档案(屏幕上同样会打印出一个checksum值)。两个值必须完全相同,否则说明出错了。Checksums在数据校验方面非常有用。例如,你可以创建一个ZIP文件,然后连同checksum值一同传递给你的朋友。你的朋友解压缩文件后,将生成的checksum值与你提供的作一比较,如果相同则说明在传递过程中没有发生错误。");
sb.append("测试清单 4 和 5,编译类文件并运行类Zip来创建一个压缩档案(程序会计算出checksum值并显示在屏幕上),然后运行UnZip类来解压缩这个档案(屏幕上同样会打印出一个checksum值)。两个值必须完全相同,否则说明出错了。Checksums在数据校验方面非常有用。例如,你可以创建一个ZIP文件,然后连同checksum值一同传递给你的朋友。你的朋友解压缩文件后,将生成的checksum值与你提供的作一比较,如果相同则说明在传递过程中没有发生错误。");
sb.append("测试清单 4 和 5,编译类文件并运行类Zip来创建一个压缩档案(程序会计算出checksum值并显示在屏幕上),然后运行UnZip类来解压缩这个档案(屏幕上同样会打印出一个checksum值)。两个值必须完全相同,否则说明出错了。Checksums在数据校验方面非常有用。例如,你可以创建一个ZIP文件,然后连同checksum值一同传递给你的朋友。你的朋友解压缩文件后,将生成的checksum值与你提供的作一比较,如果相同则说明在传递过程中没有发生错误。");
sb.append("测试清单 4 和 5,编译类文件并运行类Zip来创建一个压缩档案(程序会计算出checksum值并显示在屏幕上),然后运行UnZip类来解压缩这个档案(屏幕上同样会打印出一个checksum值)。两个值必须完全相同,否则说明出错了。Checksums在数据校验方面非常有用。例如,你可以创建一个ZIP文件,然后连同checksum值一同传递给你的朋友。你的朋友解压缩文件后,将生成的checksum值与你提供的作一比较,如果相同则说明在传递过程中没有发生错误。");
sb.append("测试清单 4 和 5,编译类文件并运行类Zip来创建一个压缩档案(程序会计算出checksum值并显示在屏幕上),然后运行UnZip类来解压缩这个档案(屏幕上同样会打印出一个checksum值)。两个值必须完全相同,否则说明出错了。Checksums在数据校验方面非常有用。例如,你可以创建一个ZIP文件,然后连同checksum值一同传递给你的朋友。你的朋友解压缩文件后,将生成的checksum值与你提供的作一比较,如果相同则说明在传递过程中没有发生错误。");
//测试使用对象进行压缩,
Preson preson1 = new Preson("zhansan","往外",22,sb.toString());
Preson preson2 = new Preson("zhansan2","往外",22,sb.toString());
Preson preson3 = new Preson("zhansan3","往外",22,sb.toString());
ByteArrayOutputStream baos2 = new ByteArrayOutputStream();
ObjectOutputStream os2 = new ObjectOutputStream(baos2);
os2.writeObject(preson1);
os2.writeObject(preson1);
os2.writeObject(preson1);
os2.flush();
os2.close();
os2.close();
//String str = new String(baos.toByteArray(),"UTF-8");
//打印压缩前对象的大小 为byte.length长度
System.out.println("压缩前数据大小"+baos2.size()); byte[] by = new byte[1024];
ByteArrayOutputStream baos = new ByteArrayOutputStream(); GZIPOutputStream gon = new GZIPOutputStream(baos);
ObjectOutputStream oos = new ObjectOutputStream(gon);
oos.writeObject(preson1);
oos.writeObject(preson1);
oos.writeObject(preson1);
oos.flush();
oos.close();
gon.close();
//String str = new String(baos.toByteArray(),"UTF-8");
System.out.println("压缩后数据大小"+baos.size()); byte[] buf =baos.toByteArray();
System.out.println("压缩后字节长度"+buf.length);
ByteArrayInputStream bis = new ByteArrayInputStream(buf);
GZIPInputStream gin = new GZIPInputStream(bis);
ObjectInputStream ois = new ObjectInputStream(gin);
Preson sarah = (Preson) ois.readObject();
Preson sam = (Preson) ois.readObject();
Preson pr3 = (Preson)ois.readObject();
//print the records after reconstruction of state
sarah.print();
sam.print();
pr3.print();
ois.close();
gin.close(); ByteArrayOutputStream baos3 = new ByteArrayOutputStream();
ObjectOutputStream os3 = new ObjectOutputStream(baos3);
os3.writeObject(sarah);
os3.writeObject(sam);
os3.writeObject(pr3);
os3.flush();
os3.close();
os3.close();
//String str = new String(baos.toByteArray(),"UTF-8");
System.out.println("解压后数据大小"+baos3.size()); }
JAVA数据压缩简单测试的更多相关文章
- Java中简单测试FastDFS的文件上传
pom.xml文件内容如下: <dependencies> <!-- fastdfs --> <dependency> <groupId>org.cso ...
- java代理课程测试 spring AOP代理简单测试
jjava加强课程测试代码 反射. 代理 .泛型.beanUtils等 项目源码下载:http://download.csdn.net/detail/liangrui1988/6568169 热身运动 ...
- java实现简单的单点登录
java实现简单的单点登录 摘要:单点登录(SSO)的技术被越来越广泛地运用到各个领域的软件系统当中.本文从业务的角度分析了单点登录的需求和应用领域:从技术本身的角度分析了单点登录技术的内部机制和实现 ...
- 主题:Java WebService 简单实例
链接地址:主题:Java WebService 简单实例 http://www.iteye.com/topic/1135747 前言:朋友们开始以下教程前,请先看第五大点的注意事项,以避免不必要 ...
- struts2+hibernate+spring注解版框架搭建以及简单测试(方便脑补)
为了之后学习的日子里加深对框架的理解和使用,这里将搭建步奏简单写一下,目的主要是方便以后自己回来脑补: 1:File--->New--->Other--->Maven--->M ...
- struts2+hibernate+spring配置版框架搭建以及简单测试(方便脑补)
为了之后学习的日子里加深对框架的理解和使用,这里将搭建步奏简单写一下,目的主要是方便以后自己回来脑补: 1:File--->New--->Other--->Maven--->M ...
- JAVA实现简单的四则运算
GitHub 项目地址 https://github.com/745421831/-/tree/master PSP PSP2.1 Personal Software Process Stages 预 ...
- Java实现简单的RPC框架(美团面试)
一.RPC简介 RPC,全称为Remote Procedure Call,即远程过程调用,它是一个计算机通信协议.它允许像调用本地服务一样调用远程服务.它可以有不同的实现方式.如RMI(远程方法调用) ...
- MongoDB 副本集和C#交互,简单测试
MongoDB 副本集和C#交互,简单测试 primary节点宕机: 模拟primary节点宕机的情况,这时查看监控: 可以看到37018已经成了primary节点.主界面宕机导致了整个集群发生一次e ...
随机推荐
- 通过源码成功启动odoo 10.0
- jsonp案例
<button id="btn">click</button><script type="text/javascript"> ...
- 树莓派(Raspberry Pi)日期时间不准的修正方法
在树莓派上,打date命令可以看到系统的日期时间: 后面的CST表示中国标准时间 小知识: 树莓派没有电池,断电后无法保存时间. 树莓派默认安装了NTP(Network Time Protocol)服 ...
- asp.net 设置网页过期
/// <summary> /// 判断网页是否过期 /// </summary> /// <returns></returns> private bo ...
- 打造完美的xml技术解决方案(dom4j/xstream)
转: XML 技术是随着 Java 的发展而发展起来的.在 XML 出现之前对于简单的数据格式通常是存储在 ini 配置文件等文本文件中,复杂的格式则采用自定义的文件格式,因此对于每种文件格式都要有专 ...
- Discuz模拟批量上传附件发帖
简介 对于很多用discuz做资源下载站来说,一个个上传附件,发帖是很繁琐的过程.如果需要批量上传附件发帖,就需要去模拟discuz 上传附件的流程. 模拟上传 discuz 附件逻辑 dz附件储存在 ...
- [JBoss] - 解决URI提交时乱码问题
JBoss 7 AS解决url提交数据乱码的问题: 打开jboss-as-7.1.1.Final\standalone\configuration\standalone.xml文件,在<exte ...
- 使用PowerDesigner把oom设计图导出jpg格式的图片
1: 按住Shift键点击鼠标选择要导出的对象,必须先选择. 2: 选择Edit—>Export Image 到出你需要的格式,如下图
- coderforces 721b
题目描述: B. Passwords time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
- C#获取真实IP地址实现方法
通常来说,大家获取用户IP地址常用的方法是: string IpAddress = ""; if((HttpContext.Current.Request.ServerVariab ...