Class InflaterOutputStream
java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
java.util.zip.InflaterOutputStream
- All Implemented Interfaces:
Closeable, Flushable, AutoCloseable
Implements an output stream filter for uncompressing data stored in the
"deflate" compression format.
Decompressor Usage
AnInflaterOutputStream
created without
specifying a decompressor will create a decompressor
at construction time, and close the decompressor when the output stream
is closed.
If a decompressor is specified when creating a InflaterOutputStream
, it is the
responsibility of the caller to close the
decompressor after closing the output stream.
- API Note:
- The
close()
method should be called to release resources used by this stream, either directly, or with thetry
-with-resources statement. - Since:
- 1.6
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final byte[]
Output buffer for writing uncompressed data.protected final Inflater
Decompressor for this stream.Fields declared in class FilterOutputStream
out
-
Constructor Summary
ConstructorsConstructorDescriptionCreates a new output stream and decompressor with a default 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 TypeMethodDescriptionvoid
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 FilterOutputStream
write
Methods declared in class OutputStream
nullOutputStream
-
Field Details
-
inf
Decompressor for this stream. -
buf
protected final byte[] bufOutput buffer for writing uncompressed data.
-
-
Constructor Details
-
InflaterOutputStream
Creates a new output stream and decompressor with a default buffer size.The decompressor will be closed when this output stream is closed.
- Parameters:
out
- output stream to write the uncompressed data to- Throws:
NullPointerException
- ifout
is null
-
InflaterOutputStream
Creates a new output stream with the specified decompressor and a default buffer size.Closing this output stream will not close the given decompressor.
- Parameters:
out
- output stream to write the uncompressed data toinfl
- decompressor ("inflater") for this stream- Throws:
NullPointerException
- ifout
orinfl
is null
-
InflaterOutputStream
Creates a new output stream with the specified decompressor and buffer size.Closing this output stream will not close the given decompressor.
- 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 Details
-
close
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:
-
flush
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:
-
finish
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
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
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:
-