- java.lang.Object
-
- java.io.OutputStream
-
- java.io.FilterOutputStream
-
- java.util.zip.InflaterOutputStream
-
- All Implemented Interfaces:
Closeable
,Flushable
,AutoCloseable
public class InflaterOutputStream extends FilterOutputStream
Implements an output stream filter for uncompressing data stored in the "deflate" compression format.- Since:
- 1.6
- See Also:
InflaterInputStream
,DeflaterInputStream
,DeflaterOutputStream
-
-
Field Summary
Fields Modifier and Type Field Description protected byte[]
buf
Output buffer for writing uncompressed data.protected Inflater
inf
Decompressor for this stream.-
Fields declared in class java.io.FilterOutputStream
out
-
-
Constructor Summary
Constructors Constructor Description InflaterOutputStream(OutputStream out)
Creates a new output stream with a default decompressor and buffer size.InflaterOutputStream(OutputStream out, Inflater infl)
Creates a new output stream with the specified decompressor and a default buffer size.InflaterOutputStream(OutputStream out, Inflater infl, int bufLen)
Creates a new output stream with the specified decompressor and buffer size.
-
Method Summary
Modifier and Type Method Description void
close()
Writes any remaining uncompressed data to the output stream and closes the underlying output stream.void
finish()
Finishes writing uncompressed data to the output stream without closing the underlying stream.void
flush()
Flushes this output stream, forcing any pending buffered output bytes to be written.void
write(byte[] b, int off, int len)
Writes an array of bytes to the uncompressed output stream.void
write(int b)
Writes a byte to the uncompressed output stream.-
Methods declared in class java.io.FilterOutputStream
write
-
Methods declared in class java.io.OutputStream
nullOutputStream
-
-
-
-
Field Detail
-
inf
protected final Inflater inf
Decompressor for this stream.
-
buf
protected final byte[] buf
Output buffer for writing uncompressed data.
-
-
Constructor Detail
-
InflaterOutputStream
public InflaterOutputStream(OutputStream out)
Creates a new output stream with a default decompressor and buffer size.- Parameters:
out
- output stream to write the uncompressed data to- Throws:
NullPointerException
- ifout
is null
-
InflaterOutputStream
public InflaterOutputStream(OutputStream out, Inflater infl)
Creates a new output stream with the specified decompressor and a default buffer size.- Parameters:
out
- output stream to write the uncompressed data toinfl
- decompressor ("inflater") for this stream- Throws:
NullPointerException
- ifout
orinfl
is null
-
InflaterOutputStream
public InflaterOutputStream(OutputStream out, Inflater infl, int bufLen)
Creates a new output stream with the specified decompressor and buffer size.- Parameters:
out
- output stream to write the uncompressed data toinfl
- decompressor ("inflater") for this streambufLen
- decompression buffer size- Throws:
IllegalArgumentException
- ifbufLen <= 0
NullPointerException
- ifout
orinfl
is null
-
-
Method Detail
-
close
public void close() throws IOException
Writes any remaining uncompressed data to the output stream and closes the underlying output stream.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classFilterOutputStream
- Throws:
IOException
- if an I/O error occurs- See Also:
FilterOutputStream.flush()
,FilterOutputStream.out
-
flush
public void flush() throws IOException
Flushes this output stream, forcing any pending buffered output bytes to be written.- Specified by:
flush
in interfaceFlushable
- Overrides:
flush
in classFilterOutputStream
- Throws:
IOException
- if an I/O error occurs or this stream is already closed- See Also:
FilterOutputStream.out
-
finish
public void finish() throws IOException
Finishes writing uncompressed data to the output stream without closing the underlying stream. Use this method when applying multiple filters in succession to the same output stream.- Throws:
IOException
- if an I/O error occurs or this stream is already closed
-
write
public void write(int b) throws IOException
Writes a byte to the uncompressed output stream.- Overrides:
write
in classFilterOutputStream
- Parameters:
b
- a single byte of compressed data to decompress and write to the output stream- Throws:
IOException
- if an I/O error occurs or this stream is already closedZipException
- if a compression (ZIP) format error occurs
-
write
public void write(byte[] b, int off, int len) throws IOException
Writes an array of bytes to the uncompressed output stream.- Overrides:
write
in classFilterOutputStream
- Parameters:
b
- buffer containing compressed data to decompress and write to the output streamoff
- starting offset of the compressed data withinb
len
- number of bytes to decompress fromb
- Throws:
IndexOutOfBoundsException
- ifoff < 0
, or iflen < 0
, or iflen > b.length - off
IOException
- if an I/O error occurs or this stream is already closedNullPointerException
- ifb
is nullZipException
- if a compression (ZIP) format error occurs- See Also:
FilterOutputStream.write(int)
-
-