Класс 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.
- См. также:
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.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)
Создаёт новый поток вывода с указанным сжимающим компонентом и размером буфера.
Новый экземпляр потока вывода создаётся так, как если бы вызывали конструктор с четырьмя аргументами 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в интерфейсеCloseable - Задано в:
-
closeв интерфейсеAutoCloseable - Переопределяет:
-
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.