博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
zip 数据压缩
阅读量:6293 次
发布时间:2019-06-22

本文共 1412 字,大约阅读时间需要 4 分钟。

压缩与解压都是针对字节数组来进行的。

内存数据压缩

java.util.zip.DeflaterOutputStream

压缩步骤
1.创建一个ByteArrayOutputStream byteArrayOutputStream;
2.调用DeflaterOutputStream deflaterOutputStream=DeflaterOutputStream(byteArrayOutputStream)构造函数;
3.调用deflaterOutputStream.write(待压缩字节数组);
4.byteArrayOutputStream.toByteArray()得到压缩后字节数组。

内存数据解压

java.util.zip.InflaterOutputStream

解压缩步骤
1.创建一个ByteArrayOutputStream byteArrayOutputStream;
2.调用InflaterOutputStream inflaterOutputStream=InflaterOutputStream (byteArrayOutputStream)构造函数;
3.inflaterOutputStream.write(待解压缩字节数组);
4.byteArrayOutputStream.toByteArray()得到解压缩后字节数组。

代码

文件压缩(undone)

java.util.zip.ZipOutputStream

此类代表压缩数据的输出流。
java.util.zip.ZipOutputStream.ZipOutputStream(OutputStream out)
构造函数,与OutputStream绑定。
java.util.zip.ZipEntry.ZipEntry(String name)
通过指定的名字创建新ZipEntry。
void java.util.zip.ZipOutputStream.putNextEntry(ZipEntry e) throws IOException
开始写入一个新的zipEntry,并界定了一个文件内容的起点。
void java.util.zip.ZipOutputStream.closeEntry()
关闭当前的zipEntry,并界定了写入下一个zipEntry的起点。

文件解压(undone)

java.util.zip.ZipInputStream

此类代表压缩数据的输入流。
ZipEntry java.util.zip.ZipInputStream.getNextEntry()
读下一个zipEntry,并界定了一个文件内容的起点。
ZipInputStream类继承自InputStream,它没有重写read(byte[]) 方法,该方法见下行:
int java.io.FilterInputStream.read(byte[] b)
返回读取到的字节数。-1表示流中的内容读取完毕。这个函数内部会调用read(byte[] b, int off, int len)函数,ZipInputStream类重写了该函数:
int java.util.zip.ZipInputStream.read(byte[] b, int off, int len)
读取当前zipEntry的内容,输出到b数组。

转载地址:http://zitta.baihongyu.com/

你可能感兴趣的文章
80后创业的经验谈(转,朴实但实用!推荐)
查看>>
让Windows图片查看器和windows资源管理器显示WebP格式
查看>>
我的友情链接
查看>>
vim使用点滴
查看>>
embedded linux学习中几个需要明确的概念
查看>>
mysql常用语法
查看>>
Morris ajax
查看>>
【Docker学习笔记(四)】通过Nginx镜像快速搭建静态网站
查看>>
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
查看>>
<转>云主机配置OpenStack使用spice的方法
查看>>
java jvm GC 各个区内存参数设置
查看>>
[使用帮助] PHPCMS V9内容模块PC标签调用说明
查看>>
基于RBAC权限管理
查看>>
数学公式的英语读法
查看>>
留德十年
查看>>
迷人的卡耐基说话术
查看>>
PHP导出table为xls出现乱码解决方法
查看>>
PHP问题 —— 丢失SESSION
查看>>
Java中Object类的equals()和hashCode()方法深入解析
查看>>
数据库
查看>>