`

对象的压缩和解压

    博客分类:
  • java
 
阅读更多
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);
		
	}
}

 

分享到:
评论

相关推荐

    vbs压缩和解压zip,vbs压缩zip,vbs解压zip

    vbs解压和压缩zip的,都有了,好用才放上来给大家下载,代码来自网上,整理一下,方便大家! 不是调用winrar的那种, 主要用到 Shell.Application对象

    自适应哈夫曼编码的数据压缩与解压技术研究

    数据压缩的基本概念和重要性对目前主要的压缩方法作了简单的说明并给出了数据压缩过程的基本模型以Haffman编码为主要研究对象分析了实现该算法的数据结构并以一个实例说明了Haffman编码的主要过程

    pb zip压缩和解压,以流方式读取和写入

    该对象是使用pb对文件进行zip压缩和解压,并且将zip压缩包以流方式读取和将zip压缩包的流写入到本地文件夹的方法的封装

    易语言调用as_zlib压缩解压源码

    易语言使用对象载入flash,执行CallFunction方法,调用flash中的as代码进行压缩解压。as使用的ByteArray类:compress 和 uncompress 方法。易语言对象载入flash,源码来自论坛网友分享的源码,需要写本地文件,有点...

    java将文件夹压缩成zip,解压zip压缩包

    java控制指定路径下的文件夹压缩成zip格式。 java将zip压缩包解压成为文件夹。直接使用io流进行操作,不需借助其他jar包

    用哈夫曼算法实现字符型文件压缩与解压(实验报告)

    用哈夫曼算法实现字符型文件压缩与解压,采用C语言实现,友好界面,适合初学者参考和模仿。 适合作为数据结构与算法分析的实验对象。

    Python开发——gzip压缩|解压缩

    gzip -- 支持gzip文件 这个模块提供了一些简单的接口来对文件进行压缩和解压缩,类似于...GzipFile类在读写gzip格式的文件的时候,自动的压缩和解压缩数据类似于操作普通的文件对象。 在gzip模块中定义了一些方法:

    Python实现文件压缩和解压的示例代码

    接下来,我们使用Python实现压缩和解压。 读取ZIP文件信息 要读取ZIP文件的内容,首先必须创建一个ZipFile对象。ZipFile对象在概念上与File对象相似。 要创建一个 ZipFile 对象,就调用 zipfile.ZipFile()...

    asp.NET中实现文件的压缩和解压(3种方式)

    在.NET可以通过多种方式实现zip的压缩和解压:1、使用System.IO.Packaging;2、使用第三方类库;3、通过 System.IO.Compression 命名空间中新增的ZipArchive、ZipFile等类实现。 一、使用System.IO.Packaging压缩和...

    用.NET 2.0压缩/解压功能处理大型数据

    而对于另一部分使用压缩的开发人员来说,好消息是,.NET 2.0如今提供了两个类来处理压缩和解压问题。本文正是想讨论何时以及如何使用这些有用的工具。引言.NET框架2.0中的一个新名称空间是System.IO.Compression。这...

    PostgreSQL扩展函数,用于lz4压缩和解压缩。适用于Linux操作系统,支持PG10,PG11,PG12,PG13。

    lz4:接收bytea类型的数据,返回压缩后的bytea类型数据 un_lz4:接收bytea类型的数据,返回解压后的bytea类型数据 lz4_utf8:接收utf8编码的文本数据,返回解压后的bytea类型数据 un_lz4_utf8:接收bytea类型的数据...

    python 解压zip文件源码

    zip文件是一种压缩文件,可以将一些文件和文件夹压缩成一个单一的、可移动的文件。它是一种非常有效的文件传输和存储格式,可以极大地减少文件的大小,提高文件传输的速度和存储的效率。 使用python解压zip文件,...

    使用Java向服务器上传文件压缩包并实现解压缩

    使用Java远程上传压缩包到服务器,或者在服务器上拉去压缩包或者文件,在服务器上创建目录。

    WinRAR压缩软件官方最新正版

    WinRAR,强大的压缩解压软件 WinRAR 软件 WinRAR 是一个强大的压缩文件管理工具。它能备份你的数据,减少你的 E-mail 附件的大小,解压缩从 Internet 上下载的 RAR、ZIP 和其他格式的压缩文件,并能创建 RAR 和 ZIP...

    lzwCompress.js:在JavaScript中为字符串实现了无损LZW压缩解压JSONJS对象

    JavaScript中针对字符串/ JSON / JS对象实现的无损LZW压缩/解压缩。 用法: 从npm安装lzwCompress: npm install lzwcompress 然后在您的node.js应用程序中使用它: import lzwCompress from 'lzwcompress'; ...

    rar压缩软件.rar

    许多 RAR 命令,例如解压、测试和列表,都允许在压缩文件名中使用通配符。如 在压缩文件名掩码中没有指定扩展名,RAR 会认为是 .rar,所以 * 意味着所有 .rar 扩展名的压缩文件。如果你需要处理所有没有扩展名的...

    WINRAR压缩软件

    但该软件就不同了,不但能解压多数压缩格式,且不需外挂程序支持就可直接建立 ZIP 格式的压缩文件,所以我们不必担心离开了其他软件如何处理 ZIP 格式的问题。 4、设置项目非常完善,并且可以定制界面 让我们通过...

    org.apache.tools.zip解决解压乱码问题

    * @param file 文件对象 * @param relativePath 相对路径 * @throws IOException * void */ private static void zipFile(ZipOutputStream zos, File file, String relativePath) throws IOException...

    易语言功能比较源码,易语言模块测试源码,易语言易用压缩模块4.5

    易用压缩模块4.5,压缩文件,解压文件,取文件列表,搜寻,创建多级目录,置文件时间,显示文件信息,画出图标,取文件图标,格式化时间,取文本指针,取图标指针,画图标,取设备场景,打开或创建文件,关闭文件对象,系统时间转换为...

    易语言调用as_zlib压缩解压-易语言

    使用对象载入flash,执行CallFunction方法,调用flash中的as代码进行压缩解压 as使用的ByteArray类: compress 和 uncompress 方法 易语言对象载入flash,源码来自论坛网友分享的源码,需要写本地文件,有点麻烦! ...

Global site tag (gtag.js) - Google Analytics