Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## java.util.zip
Class InflaterInputStream

    java.lang.Object
      |
      +--java.io.InputStream
            |
            +--java.io.FilterInputStream
                  |
                  +--java.util.zip.InflaterInputStream

Direct Known Subclasses:
  GZIPInputStream, ZipInputStream

public class InflaterInputStream
extends FilterInputStream

This class implements a stream filter for uncompressing data in the "deflate" compression format. It is also used as the basis for other decompression filters, such as GZIPInputStream.

See Also:
  `Inflater`

Field Summary
`protected byte[]` | `buf` Input buffer for decompression.
`protected Inflater` | `inf` Decompressor for this stream.
`protected int` | `len` Length of input buffer.

Fields inherited from class java.io.FilterInputStream
`in`

Constructor Summary
`InflaterInputStream(InputStream in)` Creates a new input stream with a default decompressor and buffer size.
`InflaterInputStream(InputStream in, Inflater inf)` Creates a new input stream with the specified decompressor and a default buffer size.
`InflaterInputStream(InputStream in, Inflater inf, int size)` Creates a new input stream with the specified decompressor and buffer size.

Method Summary
`int` | `available()` Returns 0 after EOF has reached, otherwise always return 1.
`void` | `close()` Closes the input stream.
`protected void` | `fill()` Fills input buffer with more data to decompress.
`int` | `read()` Reads a byte of uncompressed data.
`int` | `read(byte[] b, int off, int len)` Reads uncompressed data into an array of bytes.
`long` | `skip(long n)` Skips specified number of bytes of uncompressed data.

Methods inherited from class java.io.FilterInputStream
`mark, markSupported, read, reset`

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 stream.

### buf

    protected byte[] buf

  Input buffer for decompression.

### len

    protected int len

  Length of input buffer.

Constructor Detail

### InflaterInputStream

    public InflaterInputStream(InputStream in,
                               Inflater inf,
                               int size)

  Creates a new input stream with the specified decompressor and buffer size.

Parameters:
  `in` - the input stream
  `inf` - the decompressor ("inflater")
  `size` - the input buffer size
Throws:
  `IllegalArgumentException` - if size is <= 0

### InflaterInputStream

    public InflaterInputStream(InputStream in,
                               Inflater inf)

  Creates a new input stream with the specified decompressor and a default buffer size.

Parameters:
  `in` - the input stream
  `inf` - the decompressor ("inflater")

### InflaterInputStream

    public InflaterInputStream(InputStream in)

  Creates a new input stream with a default decompressor and buffer size.

Parameters:
  `in` - the input stream

Method Detail

### read

    public int read()
             throws IOException

  Reads a byte of uncompressed data. This method will block until enough input is available for decompression.

  Overrides:
    `read` in class `FilterInputStream`
  Returns:
    the byte read, or -1 if end of compressed input is reached
  Throws:
    `IOException` - if an I/O error has occurred
  See Also:
    `FilterInputStream.in`

### read

    public int read(byte[] b,
                    int off,
                    int len)
             throws IOException

  Reads uncompressed data into an array of bytes. This method will block until some input can be decompressed.

  Overrides:
    `read` in class `FilterInputStream`
  Parameters:
    `b` - the buffer into which the data is read
    `off` - the start offset of the data
    `len` - the maximum number of bytes read
  Returns:
    the actual number of bytes read, or -1 if the end of the compressed input is reached or a preset dictionary is needed
  Throws:
    `ZipException` - if a ZIP format error has occurred
    `IOException` - if an I/O error has occurred
  See Also:
    `FilterInputStream.in`

### available

    public int available()
                  throws IOException

  Returns 0 after EOF has reached, otherwise always return 1.

  Programs should not count on this method to return the actual number of bytes that could be read without blocking.

  Overrides:
    `available` in class `FilterInputStream`
  Returns:
    1 before EOF and 0 after EOF.
  Throws:
    `IOException` - if an I/O error occurs.
  See Also:
    `FilterInputStream.in`

### skip

    public long skip(long n)
              throws IOException

  Skips specified number of bytes of uncompressed data.

  Overrides:
    `skip` in class `FilterInputStream`
  Parameters:
    `n` - the number of bytes to skip
  Returns:
    the actual number of bytes skipped.
  Throws:
    `IOException` - if an I/O error has occurred
    `IllegalArgumentException` - if n < 0

### close

    public void close()
               throws IOException

  Closes the input stream.

  Overrides:
    `close` in class `FilterInputStream`
  Throws:
    `IOException` - if an I/O error has occurred
  See Also:
    `FilterInputStream.in`

### fill

    protected void fill()
                 throws IOException

  Fills input buffer with more data to decompress.

  Throws:
    `IOException` - if an I/O error has occurred

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.