Spec-Zone.ru › OpenJDK 27

Класс InflaterOutputStream

java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
java.util.zip.InflaterOutputStream
Все реализованные интерфейсы:
Closeable, Flushable, AutoCloseable
public class InflaterOutputStream extends FilterOutputStream
Реализует фильтр выходного потока для распаковки данных, сохранённых в формате сжатия «deflate».

Использование декомпрессора

InflaterOutputStream, созданный без указания декомпрессора, создаст декомпрессор во время конструирования и закроет его, когда выходной поток будет закрыт или когда будет вызван finish().

Если при создании InflaterOutputStream указан декомпрессор, вызывающий должен самостоятельно закрыть декомпрессор после закрытия выходного потока.

Примечание API:
Для освобождения ресурсов, используемых этим потоком, следует вызвать метод close() напрямую или использовать оператор try-with-resources.
С версии:
1.6
См. также:
  • InflaterInputStream
  • DeflaterInputStream
  • DeflaterOutputStream

Краткое описание полей

Модификатор и тип Поле Описание
protected final byte[] buf
Выходной буфер для записи распакованных данных.
protected final Inflater inf
Декомпрессор для этого потока.

Поля, объявленные в классе FilterOutputStream

out
Модификатор и тип Поле Описание
protected OutputStream out
Базовый выходной поток, для которого выполняется фильтрация.

Краткое описание конструкторов

Конструктор Описание
InflaterOutputStream(OutputStream out)
Создаёт новый выходной поток и декомпрессор с размером буфера по умолчанию.
InflaterOutputStream(OutputStream out, Inflater infl)
Создаёт новый выходной поток с указанным декомпрессором и размером буфера по умолчанию.
InflaterOutputStream(OutputStream out, Inflater infl, int bufLen)
Создаёт новый выходной поток с указанным декомпрессором и размером буфера.

Краткое описание методов

Модификатор и тип Метод Описание
void close()
Записывает все оставшиеся распакованные данные в выходной поток и закрывает базовый выходной поток.
void finish()
Записывает все ожидающие в буфере распакованные данные в базовый выходной поток, не закрывая его.
void flush()
Сбрасывает этот выходной поток, записывая все ожидающие в буфере распакованные данные в базовый выходной поток.
void write(byte[] b, int off, int len)
Записывает массив байтов в выходной поток распакованных данных.
void write(int b)
Записывает байт в выходной поток распакованных данных.

Методы, объявленные в классе FilterOutputStream

write
Модификатор и тип Метод Описание
void write(byte[] b)
Записывает b.length байтов в этот выходной поток.

Методы, объявленные в классе OutputStream

nullOutputStream
Модификатор и тип Метод Описание
static OutputStream nullOutputStream()
Возвращает новый OutputStream, который отбрасывает все байты.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Показывает, равен ли этот объект другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии.
Финализация устарела и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного времени.

Подробное описание полей

inf

protected final Inflater inf
Декомпрессор для этого потока.

buf

protected final byte[] buf
Выходной буфер для записи распакованных данных.

Подробное описание конструкторов

InflaterOutputStream

public InflaterOutputStream(OutputStream out)
Создаёт новый выходной поток и декомпрессор с размером буфера по умолчанию.

Декомпрессор будет закрыт, когда этот выходной поток будет закрыт.

Параметры:
out — выходной поток для записи распакованных данных
Выбрасывает:
NullPointerException — если out равно null

InflaterOutputStream

public InflaterOutputStream(OutputStream out, Inflater infl)
Создаёт новый выходной поток с указанным декомпрессором и размером буфера по умолчанию.

Закрытие этого выходного потока не закроет переданный декомпрессор.

Параметры:
out — выходной поток для записи распакованных данных
infl — декомпрессор («inflater») для этого потока
Выбрасывает:
NullPointerException — если out или infl равно null

InflaterOutputStream

public InflaterOutputStream(OutputStream out, Inflater infl, int bufLen)
Создаёт новый выходной поток с указанным декомпрессором и размером буфера.

Закрытие этого выходного потока не закроет переданный декомпрессор.

Параметры:
out — выходной поток для записи распакованных данных
infl — декомпрессор («inflater») для этого потока
bufLen — размер буфера распаковки
Выбрасывает:
IllegalArgumentException — если bufLen <= 0
NullPointerException — если out или infl равно null

Подробное описание методов

close

public void close() throws IOException
Записывает все оставшиеся распакованные данные в выходной поток и закрывает базовый выходной поток.
Определён в:
close в интерфейсе AutoCloseable
Определён в:
close в интерфейсе Closeable
Переопределяет:
close в классе FilterOutputStream
Требования к реализации:
Если поток ещё не закрыт, этот метод вызывает finish() перед закрытием базового выходного потока.
Выбрасывает:
IOException — при ошибке ввода-вывода
См. также:
  • FilterOutputStream.flush()
  • FilterOutputStream.out

flush

public void flush() throws IOException
Сбрасывает этот выходной поток, записывая все ожидающие в буфере распакованные данные в базовый выходной поток.
Определён в:
flush в интерфейсе Flushable
Переопределяет:
flush в классе FilterOutputStream
Выбрасывает:
IOException — при ошибке ввода-вывода или если этот поток уже закрыт
См. также:
  • FilterOutputStream.out

finish

public void finish() throws IOException
Записывает все ожидающие в буфере распакованные данные в базовый выходной поток, не закрывая его.
Требования к реализации:
Этот метод вызывает flush() для записи всех ожидающих в буфере распакованных данных.

Если этот InflaterOutputStream был создан без указания декомпрессора, метод закрывает декомпрессор, созданный во время конструирования. После этого InflaterOutputStream нельзя использовать для дальнейшей записи.

Выбрасывает:
IOException — при ошибке ввода-вывода или если этот поток уже закрыт

write

public void write(int b) throws IOException
Записывает байт в выходной поток распакованных данных.
Переопределяет:
write в классе FilterOutputStream
Параметры:
b — один байт сжатых данных для распаковки и записи в выходной поток
Выбрасывает:
IOException — при ошибке ввода-вывода или если этот поток уже закрыт
ZipException — при ошибке формата сжатия (ZIP)

write

public void write(byte[] b, int off, int len) throws IOException
Записывает массив байтов в выходной поток распакованных данных.
Переопределяет:
write в классе FilterOutputStream
Параметры:
b — буфер со сжатыми данными для распаковки и записи в выходной поток
off — начальное смещение сжатых данных в b
len — количество байтов для распаковки из b
Выбрасывает:
IndexOutOfBoundsException — если off < 0, или если len < 0, или если len > b.length - off
IOException — при ошибке ввода-вывода или если этот поток уже закрыт
NullPointerException — если b равно null
ZipException — при ошибке формата сжатия (ZIP)
См. также:
  • FilterOutputStream.write(int)

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, общие сведения, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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