public class QueryPropertyGroup {
/**
* 把对象压缩后转换为字节流
* @param obj
* @return
*/
public static byte[] enCompObject(Object obj) {
byte[] data = null;
ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
try {
//字节输出流
GZIPOutputStream gzipOut = new GZIPOutputStream(byteOut);
//创建压缩输出流
ObjectOutputStream objOut = new ObjectOutputStream(gzipOut);
//对象输出流
objOut.writeObject(obj);
objOut.flush();
objOut.close();
gzipOut.close();
data = byteOut.toByteArray();
byteOut.close();
} catch (Exception e) {
e.printStackTrace();
}
return data;
}
/**
* 解压文件
* @param data
* @return
*/
public static Object deComObject(byte[] data){
Object obj = null;
try {
//字节输入流
ByteArrayInputStream byteInput = new ByteArrayInputStream(data);
//压缩输入流
GZIPInputStream gzipInput = new GZIPInputStream(byteInput);
//对象输入流
ObjectInputStream objInput = new ObjectInputStream(gzipInput);
obj = objInput.readObject();
} catch (Exception e) {
e.printStackTrace();
}
return obj;
}
/**
* 测试
* @param args
*/
public static void main(String[] args) {
String kk = new String("测试");
byte[] data = enCompObject(kk);
System.out.println(" data's siz is: " + data.length);
Object obj = deComObject(data);
System.out.println(" obj is: " + obj.getClass() + " " + obj);
}
}
分享到:
相关推荐
C#利用SharpZipLib进行压缩和解压 C#中的压缩和解压是非常常见的操作, SharpZipLib是一个流行的压缩库,它提供了压缩和解压的功能。在本文中,我们将使用SharpZipLib库来实现文件的压缩和解压。 SharpZipLib简介...
### VBS 脚本实现 ZIP 文件的压缩与解压缩 在日常工作中,我们经常会遇到需要对文件进行压缩或解压缩的情况。对于批量处理任务,使用脚本语言可以大大提高效率。Visual Basic Script(VBS)作为Windows环境中的一种...
在Delphi编程环境中,流数据的压缩与解压是一个重要的技术环节,特别是在处理大量数据传输、存储和优化数据占用空间时。本节将详细介绍如何在Delphi 2007中实现流数据的压缩和解压,以及相关的核心概念和技术。 ...
图像压缩与解压是这个领域中的关键环节,它们对于存储、传输和显示图像起着至关重要的作用。本篇将详细介绍图像压缩和解压的基本概念、常用方法以及C#编程在其中的应用。 一、图像压缩 1. 基本概念:图像压缩是指...
在Windows环境下,尤其是在Visual Studio(如VS2012)这样的IDE中,开发者可以利用zlib库来处理文件的压缩和解压任务。 标题"**C++使用zlib压缩和解压文件**"所涉及的核心知识点包括: 1. **C++编程**:使用C++...
本文将深入探讨如何使用C#实现文件的压缩和解压缩功能,主要涉及GZipStream和DeflateStream两种常用的压缩算法。 一、GZipStream与DeflateStream 1. GZipStream:GZip是一种广泛使用的文件压缩格式,它基于DEFLATE...
ASP.NET 中实现文件的压缩和解压(3 种方式) ASP.NET 中实现文件的压缩和解压是许多开发者常见的需求,今天我们将讨论三种实现方式:使用 System.IO.Packaging、使用第三方类库、使用 System.IO.Compression 命名...
该对象是使用pb对文件进行zip压缩和解压,并且将zip压缩包以流方式读取和将zip压缩包的流写入到本地文件夹的方法的封装
而流的压缩和解压功能则能够帮助我们有效地存储和传输大量数据,减少存储空间的需求并加快数据传输速度。本篇文章将深入探讨如何在Delphi中使用流进行数据的压缩和解压操作。 首先,我们要了解什么是流压缩和解压。...
在IT行业中,文件压缩和解压是日常工作中常见的操作,特别是在处理大量数据或者进行网络传输时。本节将深入探讨shellzip的相关知识点,这是一种在VBA(Visual Basic for Applications)或VB(Visual Basic)环境中...
QFile和QDir类分别用于处理文件和目录,而QZipWriter和QZipReader则专门用于处理ZIP格式的压缩和解压。 1. **压缩目录:** 在Qt中,我们可以利用QZipWriter类来实现目录的压缩。首先,创建一个QBuffer对象,将其...
在实现PB_WebService的压缩解压功能时,还需要关注性能和安全性。过度的压缩可能会增加CPU的使用,而安全方面则需要防止在压缩和解压过程中引入潜在的安全风险,如缓冲区溢出攻击。 总的来说,PB_WebService中必用...
接下来,我们将详细讨论如何使用Deflater和Inflater进行字节的压缩与解压。 Deflater类是Java中的压缩工具,它实现了LZ77算法,这是Zlib库的基础。Deflater接收一个字节数组作为输入,经过压缩处理后,生成一个压缩...
根据给定文件的信息,本文将围绕“字符串的压缩与解压”这一主题展开,深入探讨字符串压缩和解压的基本原理、实现方法以及应用场景等多方面内容。 ### 字符串压缩和解压概述 字符串的压缩与解压是计算机科学中的一...
这两个函数分别用于数据的压缩和解压操作。 ##### 1. 压缩函数 A_pCompressByte - **参数说明**: - `pByte()`:一个Byte数组,表示待压缩的数据。 - **函数实现逻辑**: - 创建了一个`MemoryStream`对象`MS`...
在本压缩包中的文件“hafuaman”很可能包含了实现哈夫曼压缩和解压的C++源代码。源代码通常包括了数据结构(如哈夫曼树节点的定义)、算法实现(如哈夫曼树的构建和解码过程)以及文件操作(读写输入输出文件)。...
### 实现Java文件压缩与解压 #### 一、引言 在计算机科学领域,文件压缩与解压是一项非常实用的技术。它不仅能够减少文件占用的空间,提高存储效率,还能加速文件在网络中的传输速度。Java作为一种广泛使用的编程...
在本项目中,"pb 图片压缩、解压技术结合XML" 提到了如何使用PB进行图片处理,具体涉及图片的压缩和解压,并结合XML文件进行数据存储。以下是关于这个主题的详细知识点: 1. **图片压缩**:图片压缩通常是为了减小...
标题中的“pb做zlib压缩解压”指的是使用PowerBuilder(简称pb)这一编程工具,结合zlib库来实现数据的压缩与解压缩功能。在IT行业中,PowerBuilder是一种广泛使用的面向对象的可视化开发工具,尤其适用于构建数据库...
总的来说,哈弗曼压缩和解压是一种有效的无损数据压缩方法,尤其适用于包含大量重复符号的数据。通过VS2010和MFC,我们可以创建用户友好的界面,方便用户对文件进行压缩和解压缩操作,提高存储和传输效率。同时,...