- java.lang.Object
-
- java.io.InputStream
-
- java.io.FilterInputStream
-
- java.util.zip.DeflaterInputStream
-
- All Implemented Interfaces:
Closeable,AutoCloseable
public class DeflaterInputStream extends FilterInputStream
Implements an input stream filter for compressing data in the "deflate" compression format.- Since:
- 1.6
- See Also:
DeflaterOutputStream,InflaterOutputStream,InflaterInputStream
-
-
Field Summary
Fields Modifier and Type Field Description protected byte[]bufInput buffer for reading compressed data.protected DeflaterdefCompressor for this stream.-
Fields declared in class java.io.FilterInputStream
in
-
-
Constructor Summary
Constructors Constructor Description 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.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intavailable()Returns 0 after EOF has been reached, otherwise always return 1.voidclose()Closes this input stream and its underlying input stream, discarding any pending uncompressed data.voidmark(int limit)This operation is not supported.booleanmarkSupported()intread()Reads a single byte of compressed data from the input stream.intread(byte[] b, int off, int len)Reads compressed data into a byte array.voidreset()This operation is not supported.longskip(long n)Skips over and discards data from the input stream.-
Methods declared in class java.io.FilterInputStream
read
-
Methods declared in class java.io.InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, transferTo
-
-
-
-
Field Detail
-
def
protected final Deflater def
Compressor for this stream.
-
buf
protected final byte[] buf
Input buffer for reading compressed data.
-
-
Constructor Detail
-
DeflaterInputStream
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- ifinis null
-
DeflaterInputStream
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 todefl- compressor ("deflater") for this stream- Throws:
NullPointerException- ifinordeflis null
-
DeflaterInputStream
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 todefl- compressor ("deflater") for this streambufLen- compression buffer size- Throws:
IllegalArgumentException- ifbufLen <= 0NullPointerException- ifinordeflis null
-
-
Method Detail
-
close
public void close() throws IOExceptionCloses this input stream and its underlying input stream, discarding any pending uncompressed data.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classFilterInputStream- Throws:
IOException- if an I/O error occurs- See Also:
FilterInputStream.in
-
read
public int read() throws IOExceptionReads a single byte of compressed data from the input stream. This method will block until some input can be read and compressed.- Overrides:
readin classFilterInputStream- 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- See Also:
FilterInputStream.in
-
read
public int read(byte[] b, int off, int len) throws IOExceptionReads compressed data into a byte array. This method will block until some input can be read and compressed.- Overrides:
readin classFilterInputStream- Parameters:
b- buffer into which the data is readoff- starting offset of the data withinblen- maximum number of compressed bytes to read intob- Returns:
- the actual number of bytes read, or -1 if the end of the uncompressed input stream is reached
- Throws:
IndexOutOfBoundsException- iflen > b.length - offIOException- if an I/O error occurs or if this input stream is already closed- See Also:
FilterInputStream.in
-
skip
public long skip(long n) throws IOExceptionSkips over and discards data from the input stream. This method may block until the specified number of bytes are read and skipped. Note: Whilenis given as along, the maximum number of bytes which can be skipped isInteger.MAX_VALUE.- Overrides:
skipin classFilterInputStream- 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
-
available
public int available() throws IOExceptionReturns 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
- Overrides:
availablein classFilterInputStream- 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
-
markSupported
public boolean markSupported()
- Overrides:
markSupportedin classFilterInputStream- Returns:
- false, always
- See Also:
FilterInputStream.in,InputStream.mark(int),InputStream.reset()
-
mark
public void mark(int limit)
This operation is not supported.- Overrides:
markin classFilterInputStream- Parameters:
limit- maximum bytes that can be read before invalidating the position marker- See Also:
FilterInputStream.in,FilterInputStream.reset()
-
reset
public void reset() throws IOExceptionThis operation is not supported.- Overrides:
resetin classFilterInputStream- Throws:
IOException- always thrown- See Also:
FilterInputStream.in,FilterInputStream.mark(int)
-
-