Класс 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.
- С тех пор:
- 1.1
- См. также:
Deflater
Поля
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected byte[] | buf | Буфер вывода для записи сжатых данных. |
protected Deflater | def | Компрессор для этого потока. |
Поля, объявленные в классе java.io.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) | Записывает байт в сжатый поток вывода. |
Методы, объявленные в классе java.io.FilterOutputStream
write Методы, объявленные в классе java.io.OutputStream
nullOutputStream Методы, объявленные в классе java.lang.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) Создает новый поток вывода со сжатием и размером буфера.
Новый экземпляр потока вывода создается так, как будто вызывается конструктор с 4 аргументами 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) Создает новый поток вывода со сжатием и стандартным размером буфера.
Новый экземпляр потока вывода создается так, как будто вызывается конструктор с 3 аргументами 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)
Создает новый поток вывода со стандартным сжатием и размером буфера.
Новый экземпляр потока вывода создается так, как будто вызывается конструктор с 2 аргументами 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
© 1993, 2020, 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/11/docs/api/java.base/java/util/zip/DeflaterOutputStream.html