当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Java.util.zip.GZIPInputStream用法及代码示例


此类实现一个流过滤器,用于读取 GZIP 文件格式的压缩数据。

构造函数

  • GZIPInputStream(输入流中):创建具有默认缓冲区大小的新输入流。
  • GZIPInputStream(输入流,int大小):创建具有指定缓冲区大小的新输入流。

方法:

  • 无效close():关闭此输入流并释放与该流关联的所有系统资源。
    Syntax :public void close()
               throws IOException
    Specified by:
    close in interface Closeable
    Specified by:
    close in interface AutoCloseable
    Overrides:
    close in class InflaterInputStream
    Throws:
    IOException 
  • int 读取(字节[] buf,int 关闭,int len):将未压缩的数据读入字节数组。如果 len 不为零,该方法将阻塞,直到可以解压缩某些输入;否则,不会读取任何字节并返回 0。
    Syntax :public int read(byte[] buf,
           int off,
           int len)
             throws IOException
    Overrides:
    read in class InflaterInputStream
    Parameters:
    buf - the buffer into which the data is read
    off - the start offset in the destination array b
    len - the maximum number of bytes read
    返回:
    the actual number of bytes read, or -1 if the end of the
    compressed input stream is reached
    Throws:
    NullPointerException
    IndexOutOfBoundsException
    ZipException
    IOException 

从类 java.util.zip.InflaterInputStream 继承的方法
可用、填充、标记、标记支持、读取、重置、跳过
从类 java.io.FilterInputStream 继承的方法

从类 java.lang.Object 继承的方法
克隆、等于、终结、getClass、hashCode、通知、notifyAll、toString、等待、等待、等待

程序:


                                                                                
//Java program demonstrating GZipInputStream methods  
  
import java.io.FileInputStream;                  
import java.io.FileOutputStream;      
import java.io.IOException;                  
import java.util.Arrays; 
import java.util.zip.GZIPInputStream;  
  
class GZipInputStreamDemo          
{                                                                              
    public static void main(String[] args) throws IOException  
    {                                                                                              
        FileInputStream fis = new FileInputStream("file.txt");  
        GZIPInputStream gzis = new GZIPInputStream(fis);     
          
        //Uncompressed FileContents          
        //01234567890  
        byte b[]=new byte[10]; 
                                                      
        //skipping 1 byte      
        gzis.skip(1); 
          
        //illustrating available() and  
        //read(byte b[],int off,int len)  
        if( gzis.available()!=-1)      
            gzis.read(b);                      
        System.out.println(Arrays.toString(b)); 
                                      
        //closing the stream                                                  
        gzis.close();                                                          
    }                                                                          
}  

输出:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]


相关用法


注:本文由纯净天空筛选整理自佚名大神的英文原创作品 Java.util.zip.GZIPInputStream class in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。