`
iaiai
  • 浏览: 2149885 次
  • 性别: 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.ZipOutputStream压缩目录时,生成的zip兼容性不是很好。文件格式需转换一下。

    JAVA文件压缩与解压缩实践.doc

    GZIPOutputStream gzout=new GZIPOutputStream(fout); byte[] buf=new byte[1024];//设定读入缓冲区尺寸 int num; while ((num=fin.read(buf)) != -1) { gzout.write(buf,0,num); } gzout.close();//关闭流,...

    sharp zipsharp zip

    GZipInputStream gzi = new GZipInputStream(response.ResponseStream); MemoryStream ms = new MemoryStream(); int count=0; byte[] uncompress =new byte[1024]; while ((count = gzi.Read(uncompress, 0, ...

    Android实现压缩字符串的方法示例

    前言 Android端可以对字符串进行压缩,我们在进行大量简单文本传输时,可以先压缩字符串再发送。接收端接收后再解压。也可以将字符串压缩后...import java.util.zip.GZIPInputStream; import java.util.zip.GZIPOutput

    GZip流压缩&Web流压缩组件

     第一个软件,传输流/文件的压缩,利用Internet中惯常使用的gzip, deflate算法,可以和sun java的GZipInputStream和GZipOutputStream互操作  第二个软件,基于HTTP的压缩传输软件,可完全和IE的VBScript和...

    压缩与解压缩

    用C#实现对文件及文件夹的压缩与解压缩,有需要的可以拿走

    HTTP 响应头信息

    ... 应答头 说明 ...服务器支持哪些请求方法(如GET、POST等)。...文档的编码(Encode)...Java的GZIPOutputStream可以很方便地进行gzip压缩,但只有Unix上的Netscape和Windows上的IE 4、IE 5才支持它。因此,Servlet应

    zipme包---j2me的zip

    GZIPInputStream This filter stream is used to decompress a "GZIP" format stream. GZIPOutputStream This filter stream is used to compress a stream into a "GZIP" stream. Inflater Inflater is used to ...

    JavApi 0.8 发布,.NET 工具类库

    (Example for: FileInputStream, FileOutputStream, GZIPOutputStream) SampleTextFileOutputStream.cs: Write text or binaries to file. (Example for: FileOutputStream) SampleGetRuntimeInformations.cs: Read...

    ava支持的zip压缩和解压缩

    Java I/O类库还收录了一些能读写压缩格式流的类。要想提供压缩功能,只要把它们包在已有的I/O类的外面就行了。这些类不是Reader和Writer,而是InputStream和OutStreamput的子类。这是因为压缩算法是针对byte而不是...

Global site tag (gtag.js) - Google Analytics