Класс DeflaterOutputStream
- Все реализованные интерфейсы:
Closeable, Flushable, AutoCloseable
- Непосредственные известные подклассы:
GZIPOutputStream, ZipOutputStream
public class DeflaterOutputStream extends FilterOutputStream
Если не указано иное, передача аргумента null конструктору или методу этого класса приведёт к выбросу NullPointerException.
Использование компрессора
DeflaterOutputStream, созданный без указания компрессора, создаёт компрессор во время конструирования и закрывает его, когда выходной поток закрывается. Если при создании DeflaterOutputStream указан компрессор, вызывающий отвечает за его закрытие после закрытия выходного потока.
- Примечание к API:
- Для освобождения ресурсов, используемых этим потоком, следует вызвать метод
close()непосредственно или с помощью оператораtry-with-resources. - С версии:
- 1.1
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected byte[] |
buf |
Выходной буфер для записи сжатых данных. |
protected Deflater |
def |
Компрессор для этого потока. |
Поля, объявленные в классе FilterOutputStream
out
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
DeflaterOutputStream |
Создаёт новый выходной поток и компрессор с уровнем сжатия по умолчанию и размером буфера по умолчанию. |
DeflaterOutputStream |
Создаёт новый выходной поток и компрессор с уровнем сжатия по умолчанию, размером буфера по умолчанию и указанным режимом сброса. |
DeflaterOutputStream |
Создаёт новый выходной поток с указанным компрессором и размером буфера по умолчанию. |
DeflaterOutputStream |
Создаёт новый выходной поток с указанными компрессором и режимом сброса, а также размером буфера по умолчанию. |
DeflaterOutputStream |
Создаёт новый выходной поток с указанными компрессором и размером буфера. |
DeflaterOutputStream |
Создаёт новый выходной поток с указанными компрессором, размером буфера и режимом сброса. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
close() |
Записывает оставшиеся сжатые данные в выходной поток и закрывает базовый поток. |
protected void |
deflate() |
Записывает следующий блок сжатых данных в выходной поток. |
void |
finish() |
Завершает запись сжатых данных в выходной поток, не закрывая базовый поток. |
void |
flush() |
Сбрасывает сжатый выходной поток. |
void |
write |
Записывает массив байтов в сжатый выходной поток. |
void |
write |
Записывает байт в сжатый выходной поток. |
Методы, объявленные в классе FilterOutputStream
write
Методы, объявленные в классе OutputStream
nullOutputStream
Подробное описание полей
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— если произошла ошибка ввода-вывода - См. также:
finish
public void finish() throws IOException
- Вызывает исключение:
-
IOException— если произошла ошибка ввода-вывода
close
public void close() throws IOException
- Определено в:
-
closeв интерфейсеAutoCloseable - Определено в:
-
closeв интерфейсеCloseable - Переопределяет:
-
closeв классеFilterOutputStream - Вызывает исключение:
-
IOException— если произошла ошибка ввода-вывода - См. также:
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
- См. также:
© 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