Closeable, Flushable, AutoCloseablepublic class InflaterOutputStream extends FilterOutputStream
InflaterOutputStream 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.
close() method should be called to release resources used by this stream, either directly, or with the try-with-resources statement.| Modifier and Type | Field | Description |
|---|---|---|
protected final byte[] |
buf |
Output buffer for writing uncompressed data. |
protected final Inflater |
inf |
Decompressor for this stream. |
out
| Constructor | Description |
|---|---|
InflaterOutputStream |
Creates a new output stream and decompressor with a default buffer size. |
InflaterOutputStream |
Creates a new output stream with the specified decompressor and a default buffer size. |
InflaterOutputStream |
Creates a new output stream with the specified decompressor and buffer size. |
| 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 |
Writes an array of bytes to the uncompressed output stream. |
void |
write |
Writes a byte to the uncompressed output stream. |
write
nullOutputStream
protected final Inflater inf
protected final byte[] buf
public InflaterOutputStream(OutputStream out)
The decompressor will be closed when this output stream is closed.
out - output stream to write the uncompressed data toNullPointerException - if out is nullpublic InflaterOutputStream(OutputStream out, Inflater infl)
Closing this output stream will not close the given decompressor.
out - output stream to write the uncompressed data toinfl - decompressor ("inflater") for this streamNullPointerException - if out or infl is nullpublic InflaterOutputStream(OutputStream out, Inflater infl, int bufLen)
Closing this output stream will not close the given decompressor.
out - output stream to write the uncompressed data toinfl - decompressor ("inflater") for this streambufLen - decompression buffer sizeIllegalArgumentException - if bufLen <= 0
NullPointerException - if out or infl is nullpublic void close() throws IOException
close in interface AutoCloseable
close in interface Closeable
close in class FilterOutputStream
IOException - if an I/O error occurspublic void flush() throws IOException
flush in interface Flushable
flush in class FilterOutputStream
IOException - if an I/O error occurs or this stream is already closedpublic void finish() throws IOException
IOException - if an I/O error occurs or this stream is already closedpublic void write(int b) throws IOException
write in class FilterOutputStream
b - a single byte of compressed data to decompress and write to the output streamIOException - if an I/O error occurs or this stream is already closedZipException - if a compression (ZIP) format error occurspublic void write(byte[] b, int off, int len) throws IOException
write in class FilterOutputStream
b - buffer containing compressed data to decompress and write to the output streamoff - starting offset of the compressed data within b
len - number of bytes to decompress from b
IndexOutOfBoundsException - if off < 0, or if len < 0, or if len > b.length - off
IOException - if an I/O error occurs or this stream is already closedNullPointerException - if b is nullZipException - if a compression (ZIP) format error occurs
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/zip/InflaterOutputStream.html