Spec-Zone.ru › OpenJDK 27

Class InflaterOutputStream

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 decompressing data stored in the "deflate" compression format.

Decompressor Usage

An InflaterOutputStream created without specifying a decompressor will create a decompressor at construction time, and close the decompressor when the output stream is closed or when finish() is called.

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 the try-with-resources statement.
Since:
1.6
See Also:
  • InflaterInputStream
  • DeflaterInputStream
  • DeflaterOutputStream

Field Summary

Modifier and Type Field Description
protected final byte[] buf
Output buffer for writing decompressed data.
protected final Inflater inf
Decompressor for this stream.

Fields declared in class FilterOutputStream

out
Modifier and Type Field Description
protected OutputStream out
The underlying output stream to be filtered.

Constructor Summary

Constructor Description
InflaterOutputStream(OutputStream out)
Creates 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 Type Method Description
void close()
Writes any remaining decompressed data to the output stream and closes the underlying output stream.
void finish()
Writes any pending buffered decompressed data to the underlying output stream, without closing the underlying stream.
void flush()
Flushes this output stream, writing any pending buffered decompressed data to the underlying output stream.
void write(byte[] b, int off, int len)
Writes an array of bytes to the decompressed output stream.
void write(int b)
Writes a byte to the decompressed output stream.

Methods declared in class FilterOutputStream

write
Modifier and Type Method Description
void write(byte[] b)
Writes b.length bytes to this output stream.

Methods declared in class OutputStream

nullOutputStream
Modifier and Type Method Description
static OutputStream nullOutputStream()
Returns a new OutputStream which discards all bytes.

Methods declared in class Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Modifier and Type Method Description
protected Object clone()
Creates and returns a copy of this object.
boolean equals(Object obj)
Indicates whether some other object is "equal to" this one.
protected void finalize()
Deprecated, for removal: This API element is subject to removal in a future version.
Finalization is deprecated and subject to removal in a future release.
final Class<?> getClass()
Returns the runtime class of this Object.
int hashCode()
Returns a hash code value for this object.
final void notify()
Wakes up a single thread that is waiting on this object's monitor.
final void notifyAll()
Wakes up all threads that are waiting on this object's monitor.
String toString()
Returns a string representation of the object.
final void wait()
Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
final void wait(long timeoutMillis)
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
final void wait(long timeoutMillis, int nanos)
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

Field Details

inf

protected final Inflater inf
Decompressor for this stream.

buf

protected final byte[] buf
Output buffer for writing decompressed data.

Constructor Details

InflaterOutputStream

public InflaterOutputStream(OutputStream out)
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 decompressed data to
Throws:
NullPointerException - if out is null

InflaterOutputStream

public InflaterOutputStream(OutputStream out, Inflater infl)
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 decompressed data to
infl - decompressor ("inflater") for this stream
Throws:
NullPointerException - if out or infl is null

InflaterOutputStream

public InflaterOutputStream(OutputStream out, Inflater infl, int bufLen)
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 decompressed data to
infl - decompressor ("inflater") for this stream
bufLen - decompression buffer size
Throws:
IllegalArgumentException - if bufLen <= 0
NullPointerException - if out or infl is null

Method Details

close

public void close() throws IOException
Writes any remaining decompressed data to the output stream and closes the underlying output stream.
Specified by:
close in interface AutoCloseable
Specified by:
close in interface Closeable
Overrides:
close in class FilterOutputStream
Implementation Requirements:
If not already closed, this method calls finish() before closing the underlying output stream.
Throws:
IOException - if an I/O error occurs
See Also:
  • FilterOutputStream.flush()
  • FilterOutputStream.out

flush

public void flush() throws IOException
Flushes this output stream, writing any pending buffered decompressed data to the underlying output stream.
Specified by:
flush in interface Flushable
Overrides:
flush in class FilterOutputStream
Throws:
IOException - if an I/O error occurs or this stream is already closed
See Also:
  • FilterOutputStream.out

finish

public void finish() throws IOException
Writes any pending buffered decompressed data to the underlying output stream, without closing the underlying stream.
Implementation Requirements:
This method calls flush() to write any pending buffered decompressed data.

If this InflaterOutputStream was created without specifying a decompressor, then this method closes the decompressor that was created at construction time. The InflaterOutputStream cannot then be used for any further writes.

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 decompressed output stream.
Overrides:
write in class FilterOutputStream
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 closed
ZipException - 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 decompressed output stream.
Overrides:
write in class FilterOutputStream
Parameters:
b - buffer containing compressed data to decompress and write to the output stream
off - starting offset of the compressed data within b
len - number of bytes to decompress from b
Throws:
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 closed
NullPointerException - if b is null
ZipException - if a compression (ZIP) format error occurs
See Also:
  • FilterOutputStream.write(int)

Report a bug or suggest an enhancement
For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples. Other versions.
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2026, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
All rights reserved. Use is subject to license terms and the documentation redistribution policy.

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API