科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件使用GZIP和Zip压缩Java数据流

使用GZIP和Zip压缩Java数据流

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在这篇文章中,我将简要介绍在Java中通过GZIP和Zip进行数据压缩的方法。

作者:builder.com.cn 2007年4月11日

关键字: zip GZIP java

  • 评论
  • 分享微博
  • 分享邮件

Java的输入输出库(I/O)具备压缩数据流的处理能力,利用该类库,您可以非常轻松地实现文本数据或二进制数据的压缩和解压缩,而且对来自任何文件或其他来源的数据流都可以通过该类库进行压缩和解压缩。在这篇文章中,我将简要介绍在Java中通过GZIPZip进行数据压缩的方法。

数据压缩类库

在底层,数据压缩类库使用的是通用输入输出数据流,更重要的是这些类库并不是符号数据流的一部分,比如ReaderWriter,而是基于字节的数据流InputStreamOutputStream

这是因为压缩类库是依据字节而不是符号来处理数据的。如果需要使用混合数据流,您可以通过InputStreamReaderOutputStreamWriter将字节数据流转换为符号数据流。

在处理数据流的时候,您可能会用到以下这些类:

l DeflaterOutputStream: 这是所有压缩类库的基类。

l CheckedInputStream: 对于所有的输入数据流InputStream,这个类可以通过 getCheckSum()方法来返回校验值。

l CheckedOutputStream: 对于所有的输出数据流OutputStream,这个类可以通过 getCheckSum()方法来返回校验值。

l ZipOutputStream: 这是DeflaterOutputStream类的子类, 功能是将数据压缩为Zip格式。

l GZIPOutputStream: 这是DeflaterOutputStream类的子类,功能是将数据压缩为GZIP格式。

l InflaterInputStream: 这是压缩数据类的基类。

l ZipInputStream: InflaterInputStream类的子类,可以将数据压缩为Zip格式。

l GZIPInputStream: InflaterInputStream类的子类,可以将数据压缩为GZIP格式。

尽管数据压缩的算法有很多种,但是GZIPZip是最常用的方法,这也是Java标准类库中实现了这两种方法的原因。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章