Class InflaterInputStream

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable
    Direct Known Subclasses:
    GZIPInputStream, ZipInputStream

    public class InflaterInputStream
    extends java.io.FilterInputStream
    This filter stream is used to decompress data compressed in the "deflate" format. The "deflate" format is described in RFC 1951. This stream may form the basis for other decompression filters, such as the GZIPInputStream.
    Since:
    1.1
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected byte[] buf
      Byte array used as a buffer
      protected Inflater inf
      Decompressor for this filter
      protected int len
      Size of buffer
      private byte[] onebytebuffer  
      • Fields inherited from class java.io.FilterInputStream

        in
    • Constructor Summary

      Constructors 
      Constructor Description
      InflaterInputStream​(java.io.InputStream in)
      Create an InflaterInputStream with the default decompresseor and a default buffer size.
      InflaterInputStream​(java.io.InputStream in, Inflater inf)
      Create an InflaterInputStream with the specified decompresseor and a default buffer size.
      InflaterInputStream​(java.io.InputStream in, Inflater inf, int size)
      Create an InflaterInputStream with the specified decompresseor and a specified buffer size.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int available()
      Returns 0 once the end of the stream (EOF) has been reached.
      void close()
      Closes the input stream
      protected void fill()
      Fills the buffer with more data to decompress.
      int read()
      Reads one byte of decompressed data.
      int read​(byte[] b, int off, int len)
      Decompresses data into the byte array
      long skip​(long n)
      Skip specified number of bytes of uncompressed data
      • Methods inherited from class java.io.FilterInputStream

        mark, markSupported, read, reset
      • Methods inherited from class java.io.InputStream

        nullInputStream, readAllBytes, readNBytes, readNBytes, transferTo
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • inf

        protected Inflater inf
        Decompressor for this filter
      • buf

        protected byte[] buf
        Byte array used as a buffer
      • len

        protected int len
        Size of buffer
      • onebytebuffer

        private final byte[] onebytebuffer
    • Constructor Detail

      • InflaterInputStream

        public InflaterInputStream​(java.io.InputStream in)
        Create an InflaterInputStream with the default decompresseor and a default buffer size.
        Parameters:
        in - the InputStream to read bytes from
      • InflaterInputStream

        public InflaterInputStream​(java.io.InputStream in,
                                   Inflater inf)
        Create an InflaterInputStream with the specified decompresseor and a default buffer size.
        Parameters:
        in - the InputStream to read bytes from
        inf - the decompressor used to decompress data read from in
      • InflaterInputStream

        public InflaterInputStream​(java.io.InputStream in,
                                   Inflater inf,
                                   int size)
        Create an InflaterInputStream with the specified decompresseor and a specified buffer size.
        Parameters:
        in - the InputStream to read bytes from
        inf - the decompressor used to decompress data read from in
        size - size of the buffer to use
    • Method Detail

      • available

        public int available()
                      throws java.io.IOException
        Returns 0 once the end of the stream (EOF) has been reached. Otherwise returns 1.
        Overrides:
        available in class java.io.FilterInputStream
        Throws:
        java.io.IOException
      • close

        public void close()
                   throws java.io.IOException
        Closes the input stream
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Overrides:
        close in class java.io.FilterInputStream
        Throws:
        java.io.IOException
      • fill

        protected void fill()
                     throws java.io.IOException
        Fills the buffer with more data to decompress.
        Throws:
        java.io.IOException
      • read

        public int read()
                 throws java.io.IOException
        Reads one byte of decompressed data. The byte is in the lower 8 bits of the int.
        Overrides:
        read in class java.io.FilterInputStream
        Throws:
        java.io.IOException
      • read

        public int read​(byte[] b,
                        int off,
                        int len)
                 throws java.io.IOException
        Decompresses data into the byte array
        Overrides:
        read in class java.io.FilterInputStream
        Parameters:
        b - the array to read and decompress data into
        off - the offset indicating where the data should be placed
        len - the number of bytes to decompress
        Throws:
        java.io.IOException
      • skip

        public long skip​(long n)
                  throws java.io.IOException
        Skip specified number of bytes of uncompressed data
        Overrides:
        skip in class java.io.FilterInputStream
        Parameters:
        n - number of bytes to skip
        Throws:
        java.io.IOException