`
iaiai
  • 浏览: 2204418 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java GZIPOutputStream,GZIPInputStream 用法

    博客分类:
  • J2EE
 
阅读更多
GZIP常常用在linxu环境下,是一种非常简单的压缩算法。在Java实现API中,它仅仅包含两个实现类:GZIPInputStream和GZIPOutputStream。
GZIPOutputStream类用于压缩
GZIPInputStream类用于解压缩

先说压缩实现,GZIPOutputStream只有一个方法用于压缩,就是带定长的write方法。简单调用如下文所示:
/** 
 * 数据压缩 
 *  
 * @param is 
 * @param os 
 * @throws Exception 
 */  
public static void compress(InputStream is, OutputStream os)  
        throws Exception {  
  
    GZIPOutputStream gos = new GZIPOutputStream(os);  
  
    int count;  
    byte data[] = new byte[BUFFER];  
    while ((count = is.read(data, 0, BUFFER)) != -1) {  
        gos.write(data, 0, count);  
    }  
  
    gos.finish();  
  
    gos.flush();  
    gos.close();  
}

记得完成操作后,调用finish方法和flush方法!

核心的压缩实现就这么多!

对于解压缩,GZIPInputStream也对应GZIPOutputStream提供了一个带定长的read方法。简单调用如下文所示:
/** 
 * 数据解压缩 
 *  
 * @param is 
 * @param os 
 * @throws Exception 
 */  
public static void decompress(InputStream is, OutputStream os)  
        throws Exception {  
  
    GZIPInputStream gis = new GZIPInputStream(is);  
  
    int count;  
    byte data[] = new byte[BUFFER];  
    while ((count = gis.read(data, 0, BUFFER)) != -1) {  
        os.write(data, 0, count);  
    }  
  
    gis.close();  
}

分享到:
评论

相关推荐

    java自带压缩方式的性能比较

    这些方法可能使用了Java内置的`java.util.zip`包,其中`GZIPOutputStream`和`GZIPInputStream`对应Gzip操作,而`ZipOutputStream`和`ZipInputStream`则对应Zip操作。 性能比较通常关注以下几个方面: - **压缩速度...

    Java用GZIP压缩解压文件.rar

    `java.util.zip.GZIPOutputStream`用于将数据写入GZIP格式的流,而`java.util.zip.GZIPInputStream`则用于从GZIP格式的流中读取数据。 1. **GZIP压缩**: - 创建一个`FileOutputStream`对象,以目标压缩文件为参数...

    Java用GZIP压缩解压文件源码

    在Java中,`GZIPOutputStream`和`GZIPInputStream`是两个关键的类,分别用于文件的压缩和解压缩操作。 ### GZIP压缩文件 压缩文件的基本步骤如下: 1. 创建一个`FileInputStream`对象,用于读取原始文件。 2. ...

    java数据压缩传输

    Java标准库中的`java.util.zip`包提供了`GZIPOutputStream`和`GZIPInputStream`类,它们实现了广泛使用的Gzip压缩算法。Gzip是一种高效的压缩格式,常用于文件传输。以下是如何使用这两个类进行数据压缩和解压缩的...

    JAVA文件压缩与解压缩实践(源代码+论文).rar

    Java的标准库提供了`java.util.zip`包,它包含了多种用于压缩和解压缩的类,如ZipOutputStream、ZipInputStream、GZIPOutputStream、GZIPInputStream等。其中,Zip格式常用于创建包含多个文件的归档,而GZIP则用于...

    Java 1.7以上通用解压工具通用解压工具.rar

    3. **Java的GZIPOutputStream和GZIPInputStream**:对于GZIP格式的压缩,Java提供了这两个类。GZIPOutputStream可以将数据压缩成GZIP格式,而GZIPInputStream则负责解压GZIP文件。 4. **Java的Inflater和Deflater**...

    java zip rar(区分有无密码的RAR文件) gz ftp工具类

    在Java中,可以使用`java.util.zip.GZIPOutputStream`来压缩数据,`java.util.zip.GZIPInputStream`来解压缩。`GZUtil.java`可能包含了压缩和解压缩GZ文件的相关方法。 4. **FTP工具类**: FTP(文件传输协议)常...

    JAVA文件压缩与解压缩实践(源代码+论文)

    1. **Java压缩库**:Java标准库提供了`java.util.zip`包,它包含了多种压缩和解压缩的类,如`ZipOutputStream`、`ZipInputStream`、`GZIPOutputStream`和`GZIPInputStream`,用于处理ZIP和GZIP格式的文件。...

    用java.util.zip包现数据压缩与解压

    ### 使用 Java.util.zip 包实现数据压缩与解压 在计算机科学领域,数据压缩技术是一项重要的功能,它能够帮助减少存储空间的需求以及提高网络传输效率。本文将通过一系列的示例来详细介绍如何利用 Java 中的 `java....

    Java压缩技术(四) GZIP——Java原生实现

    在Java中,我们可以直接使用java.util.zip包下的GZIPOutputStream和GZIPInputStream来实现对数据的压缩和解压缩操作。 首先,我们来看`GZipUtils.java`这个文件,它通常会包含一些静态方法,提供方便的GZIP压缩和解...

    Java GZip压缩使用以及解决包找不到问题

    GZip压缩在Java中的应用通常涉及到`java.util.zip`包中的类,如`GZIPOutputStream`和`GZIPInputStream`。在处理Base64编码的数据时,先进行GZip压缩可以进一步优化数据的传输效率。 首先,让我们深入了解一下如何...

    java毕业设计-JAVA文件压缩与解压缩实践(源代码+论文).zip

    10. **文档**:文件压缩与解压缩实践.doc和使用说明.txt可能包含了项目的设计思路、实现细节以及使用方法。良好的文档是项目成功的关键,它可以帮助其他开发者理解和使用你的代码。 这个毕业设计项目涵盖了文件系统...

    java源码:Java用GZIP压缩解压文件.rar

    在`decompressFile`方法中,我们创建一个`GZIPInputStream`,然后使用`FileOutputStream`将解压缩的数据写入到目标文件。 标签"经典"表明这些源码是经过时间检验且广泛使用的。在实际项目中,当需要处理大量数据,...

    GZip_java_referffn_gzip_

    Java GZIP库是Java标准库中的一个组成部分,主要...通过以上讲解,我们了解了Java中如何使用GZIP进行文件和数据流的压缩与解压缩,以及涉及到的相关类和方法。在实际应用中,可以根据具体需求选择合适的方式处理数据。

    java中重写ZipCOM方法

    `GZIPOutputStream`和`GZIPInputStream`可以用来进行GZIP压缩和解压,而`DeflaterOutputStream`和`InflaterInputStream`则对应于DEFLATE算法。我们可以根据需求选择合适的类,并在必要时重写其方法以实现加密功能。 ...

    java 解压,压缩linux GZ压缩文件

    总结来说,Java通过`java.util.zip`包中的`GZIPInputStream`和`GZIPOutputStream`类提供了处理GZ文件的功能。这两个类分别用于解压缩GZ文件和压缩文件到GZ格式。在编写这类代码时,注意异常处理和资源管理,以确保...

    java代码解压与压缩代码

    根据给定的文件信息,我们可以深入探讨Java中文件的压缩与解压缩技术,特别是使用GZIP格式进行操作的实现方式。下面将详细解释文件压缩与解压缩的基本原理、使用场景以及具体的Java代码实现。 ### Java文件压缩:...

    Java gzip压缩源码 web程序必备

    在Java中,我们可以使用java.util.zip.GZIPOutputStream和GZIPInputStream类来实现Gzip的压缩和解压缩操作。 接下来,我们将讨论如何在Web程序中使用Gzip压缩。在Web服务器上启用Gzip压缩通常有两种方式:配置...

    java ftp上传 下载 文件压缩解压

    gzip格式可以使用GZIPOutputStream和GZIPInputStream,而zip格式则可以使用ZipOutputStream和ZipInputStream。例如,要将一个目录及其内容压缩成ZIP文件: ```java File directoryToCompress = new File("source...

    基于java的用GZIP压缩解压文件.zip

    在使用完GZIPInputStream或GZIPOutputStream后,应确保它们被正确关闭,避免资源泄漏。 7. **压缩过程**: - 创建一个FileOutputStream对象,指向待压缩的文件。 - 将FileOutputStream包装成GZIPOutputStream。 ...

Global site tag (gtag.js) - Google Analytics