Класс 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 | Модификатор и тип | Поле | Описание |
|---|---|---|
protected OutputStream |
out |
Базовый выходной поток, к которому применяется фильтр. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
DeflaterOutputStream |
Создаёт новый выходной поток и компрессор с уровнем сжатия по умолчанию и размером буфера по умолчанию. |
DeflaterOutputStream |
Создаёт новый выходной поток и компрессор с уровнем сжатия по умолчанию, размером буфера по умолчанию и указанным режимом сброса. |
DeflaterOutputStream |
Создаёт новый выходной поток с указанным компрессором и размером буфера по умолчанию. |
DeflaterOutputStream |
Создаёт новый выходной поток с указанным компрессором, режимом сброса и размером буфера по умолчанию. |
DeflaterOutputStream |
Создаёт новый выходной поток с указанным компрессором и размером буфера. |
DeflaterOutputStream |
Создаёт новый выходной поток с указанным компрессором, размером буфера и режимом сброса. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
close() |
Записывает оставшиеся сжатые данные в выходной поток и закрывает базовый поток. |
protected void |
deflate() |
Записывает следующий блок сжатых данных в выходной поток. |
void |
finish() |
Завершает запись сжатых данных в выходной поток, не закрывая базовый поток. |
void |
flush() |
Сбрасывает сжатый выходной поток. |
void |
write |
Записывает массив байтов в сжатый выходной поток. |
void |
write |
Записывает байт в сжатый выходной поток. |
Методы, объявленные в классе FilterOutputStream
write | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
write |
Записывает 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 |
Показывает, равен ли этот объект другому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии. Финализация устарела и будет удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Переводит текущий поток в состояние ожидания до его пробуждения, обычно в результате вызова уведомления или прерывания. |
final void |
wait |
Переводит текущий поток в состояние ожидания до его пробуждения, обычно в результате вызова уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
final void |
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— если произошла ошибка ввода-вывода - См. также:
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.