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