Spec-Zone.ru › OpenJDK 27

Класс DeflaterOutputStream

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

Если не указано иное, передача аргумента null конструктору или методу этого класса приведёт к возникновению исключения NullPointerException.

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

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

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

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

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

Модификатор и тип Поле Описание
protected byte[] buf
Буфер вывода для записи сжатых данных.
protected Deflater def
Компрессор для этого потока.

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

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

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

Конструктор Описание
DeflaterOutputStream(OutputStream out)
Создаёт новый выходной поток и компрессор с уровнем сжатия по умолчанию и размером буфера по умолчанию.
DeflaterOutputStream(OutputStream out, boolean syncFlush)
Создаёт новый выходной поток и компрессор с уровнем сжатия по умолчанию, размером буфера по умолчанию и указанным режимом сброса.
DeflaterOutputStream(OutputStream out, Deflater def)
Создаёт новый выходной поток с указанным компрессором и размером буфера по умолчанию.
DeflaterOutputStream(OutputStream out, Deflater def, boolean syncFlush)
Создаёт новый выходной поток с указанным компрессором, режимом сброса и размером буфера по умолчанию.
DeflaterOutputStream(OutputStream out, Deflater def, int size)
Создаёт новый выходной поток с указанным компрессором и размером буфера.
DeflaterOutputStream(OutputStream out, Deflater def, int size, boolean syncFlush)
Создаёт новый выходной поток с указанным компрессором, размером буфера и режимом сброса.

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

Модификатор и тип Метод Описание
void close()
Записывает оставшиеся сжатые данные в выходной поток и закрывает базовый поток.
protected void deflate()
Записывает следующий блок сжатых данных в выходной поток.
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()
Переводит текущий поток в состояние ожидания до его пробуждения, обычно в результате вызова уведомления или прерывания.
final void wait(long timeoutMillis)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно в результате вызова уведомления или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно в результате вызова уведомления или прерывания, либо до истечения заданного промежутка реального времени.

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

def

protected Deflater def
Компрессор для этого потока.

buf

protected byte[] buf
Буфер вывода для записи сжатых данных.

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

DeflaterOutputStream

public DeflaterOutputStream(OutputStream out, Deflater def, int size, boolean syncFlush)
Создаёт новый выходной поток с указанным компрессором, размером буфера и режимом сброса.

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

Параметры:
out — выходной поток
def — компрессор («deflater»)
size — размер выходного буфера
syncFlush — если true, метод flush() этого экземпляра сбрасывает компрессор в режиме сброса Deflater.SYNC_FLUSH перед сбросом выходного потока; в противном случае сбрасывается только выходной поток
Вызывает исключение:
IllegalArgumentException — если size <= 0
С версии:
1.7

DeflaterOutputStream

public DeflaterOutputStream(OutputStream out, Deflater def, int size)
Создаёт новый выходной поток с указанным компрессором и размером буфера.

Новый экземпляр выходного потока создаётся так, как если бы был вызван четырёхаргументный конструктор DeflaterOutputStream(out, def, size, false).

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

Параметры:
out — выходной поток
def — компрессор («deflater»)
size — размер выходного буфера
Вызывает исключение:
IllegalArgumentException — если size <= 0

DeflaterOutputStream

public DeflaterOutputStream(OutputStream out, Deflater def, boolean syncFlush)
Создаёт новый выходной поток с указанным компрессором, режимом сброса и размером буфера по умолчанию.

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

Параметры:
out — выходной поток
def — компрессор («deflater»)
syncFlush — если true, метод flush() этого экземпляра сбрасывает компрессор в режиме сброса Deflater.SYNC_FLUSH перед сбросом выходного потока; в противном случае сбрасывается только выходной поток
С версии:
1.7

DeflaterOutputStream

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

Новый экземпляр выходного потока создаётся так, как если бы был вызван трёхаргументный конструктор DeflaterOutputStream(out, def, false).

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

Параметры:
out — выходной поток
def — компрессор («deflater»)

DeflaterOutputStream

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

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

Параметры:
out — выходной поток
syncFlush — если true, метод flush() этого экземпляра сбрасывает компрессор в режиме сброса Deflater.SYNC_FLUSH перед сбросом выходного потока; в противном случае сбрасывается только выходной поток
С версии:
1.7

DeflaterOutputStream

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

Новый экземпляр выходного потока создаётся так, как если бы был вызван двухаргументный конструктор DeflaterOutputStream(out, false).

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

Параметры:
out — выходной поток

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

write

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

write

public void write(byte[] b, int off, int len) throws IOException
Записывает массив байтов в сжатый выходной поток. Этот метод блокирует выполнение до тех пор, пока не будут записаны все байты.
Переопределяет:
write в классе FilterOutputStream
Параметры:
b — записываемые данные
off — начальное смещение данных
len — длина данных
Вызывает исключение:
IOException — если произошла ошибка ввода-вывода
См. также:
  • FilterOutputStream.write(int)

finish

public void finish() throws IOException
Завершает запись сжатых данных в выходной поток, не закрывая базовый поток. Используйте этот метод при последовательном применении нескольких фильтров к одному и тому же выходному потоку.
Вызывает исключение:
IOException — если произошла ошибка ввода-вывода

close

public void close() throws IOException
Записывает оставшиеся сжатые данные в выходной поток и закрывает базовый поток.
Указан в:
close в интерфейсе AutoCloseable
Указан в:
close в интерфейсе Closeable
Переопределяет:
close в классе FilterOutputStream
Вызывает исключение:
IOException — если произошла ошибка ввода-вывода
См. также:
  • FilterOutputStream.flush()
  • FilterOutputStream.out

deflate

protected void deflate() throws IOException
Записывает следующий блок сжатых данных в выходной поток.
Вызывает исключение:
IOException — если произошла ошибка ввода-вывода

flush

public void flush() throws IOException
Сбрасывает сжатый выходной поток. Если при создании этого сжатого выходного потока параметр syncFlush имеет значение true, этот метод сначала сбрасывает базовый compressor в режиме сброса Deflater.SYNC_FLUSH, чтобы принудительно передать все ожидающие данные в выходной поток, а затем сбрасывает выходной поток. В противном случае этот метод сбрасывает только выходной поток, не сбрасывая compressor.
Указан в:
flush в интерфейсе Flushable
Переопределяет:
flush в классе FilterOutputStream
Вызывает исключение:
IOException — если произошла ошибка ввода-вывода
С версии:
1.7
См. также:
  • FilterOutputStream.out

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по 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