Spec-Zone.ru › OpenJDK 25

Класс 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

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

Конструктор Описание
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

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

nullOutputStream

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

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

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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/zip/DeflaterOutputStream.html

Spec-Zone.ru

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