AI-generated Key Takeaways
-
DeflaterInputStreamcompresses data in the "deflate" format, reading from an underlying input stream and providing compressed data. -
It provides constructors to initialize with a default or custom
Deflaterand buffer size. -
The
read()methods allow reading compressed data into a byte array or as individual bytes. -
Methods like
mark()andreset()are not supported, whileclose()releases resources. -
available()indicates data availability (1 if data is available, 0 if EOF is reached).
Implements an input stream filter for compressing data in the "deflate" compression format.
Field Summary
| protected final byte[] | buf | Input buffer for reading compressed data. |
| protected final Deflater | def | Compressor for this stream. |
Inherited Field Summary
Public Constructor Summary
|
DeflaterInputStream(InputStream in)
Creates a new input stream with a default compressor and buffer
size.
|
|
|
DeflaterInputStream(InputStream in, Deflater defl)
Creates a new input stream with the specified compressor and a
default buffer size.
|
|
|
DeflaterInputStream(InputStream in, Deflater defl, int bufLen)
Creates a new input stream with the specified compressor and buffer
size.
|
Public Method Summary
| int |
available()
Returns 0 after EOF has been reached, otherwise always return 1.
|
| void |
close()
Closes this input stream and its underlying input stream, discarding
any pending uncompressed data.
|
| void |
mark(int limit)
This operation is not supported.
|
| boolean | |
| int |
read()
Reads a single byte of compressed data from the input stream.
|
| int |
read(byte[] b, int off, int len)
Reads compressed data into a byte array.
|
| void |
reset()
This operation is not supported.
|
| long |
skip(long n)
Skips over and discards data from the input stream.
|
Inherited Method Summary
Fields
protected final byte[] buf
Input buffer for reading compressed data.
Public Constructors
public DeflaterInputStream (InputStream in)
Creates a new input stream with a default compressor and buffer size.
Parameters
| in | input stream to read the uncompressed data to |
|---|
Throws
| NullPointerException | if in is null
|
|---|
public DeflaterInputStream (InputStream in, Deflater defl)
Creates a new input stream with the specified compressor and a default buffer size.
Parameters
| in | input stream to read the uncompressed data to |
|---|---|
| defl | compressor ("deflater") for this stream |
Throws
| NullPointerException | if in or defl is null
|
|---|
public DeflaterInputStream (InputStream in, Deflater defl, int bufLen)
Creates a new input stream with the specified compressor and buffer size.
Parameters
| in | input stream to read the uncompressed data to |
|---|---|
| defl | compressor ("deflater") for this stream |
| bufLen | compression buffer size |
Throws
| IllegalArgumentException | if bufLen <= 0 |
|---|---|
| NullPointerException | if in or defl is null
|
Public Methods
public int available ()
Returns 0 after EOF has been 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
Returns
- zero after the end of the underlying input stream has been reached, otherwise always returns 1
Throws
| IOException | if an I/O error occurs or if this stream is already closed |
|---|
public void close ()
Closes this input stream and its underlying input stream, discarding any pending uncompressed data.
Throws
| IOException | if an I/O error occurs |
|---|
public void mark (int limit)
This operation is not supported.
Parameters
| limit | maximum bytes that can be read before invalidating the position marker |
|---|
public boolean markSupported ()
public int read ()
Reads a single byte of compressed data from the input stream. This method will block until some input can be read and compressed.
Returns
- a single byte of compressed data, or -1 if the end of the uncompressed input stream is reached
Throws
| IOException | if an I/O error occurs or if this stream is already closed |
|---|
public int read (byte[] b, int off, int len)
Reads compressed data into a byte array. This method will block until some input can be read and compressed.
Parameters
| b | buffer into which the data is read |
|---|---|
| off | starting offset of the data within b |
| len | maximum number of compressed bytes to read into b |
Returns
- the actual number of bytes read, or -1 if the end of the uncompressed input stream is reached
Throws
| IndexOutOfBoundsException | if len > b.length - off |
|---|---|
| IOException | if an I/O error occurs or if this input stream is already closed |
public long skip (long n)
Skips over and discards data from the input stream.
This method may block until the specified number of bytes are read and
skipped. Note: While n is given as a long,
the maximum number of bytes which can be skipped is
Integer.MAX_VALUE.
Parameters
| n | number of bytes to be skipped |
|---|
Returns
- the actual number of bytes skipped
Throws
| IOException | if an I/O error occurs or if this stream is already closed |
|---|