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

Spec-Zone .ru
спецификации, руководства, описания, API