Spec-Zone.ru › OpenJDK 25

Класс DeflaterInputStream

java.lang.Object
java.io.InputStream
java.io.FilterInputStream
java.util.zip.DeflaterInputStream
Все реализуемые интерфейсы:
Closeable, AutoCloseable
public class DeflaterInputStream extends FilterInputStream
Реализует фильтр входного потока для сжатия данных в формате сжатия «deflate».

Использование компрессора

DeflaterInputStream, созданный без указания компрессора, создаст компрессор при создании и закроет его, когда входной поток будет закрыт.

Если при создании DeflaterInputStream указан компрессор, вызывающий отвечает за то, чтобы закрыть компрессор после закрытия входного потока.

Примечание к API:
Для освобождения ресурсов, используемых этим потоком, следует вызвать метод close() напрямую или с помощью оператора try-with-resources.
Начиная с:
1.6
См. также:
  • DeflaterOutputStream
  • InflaterOutputStream
  • InflaterInputStream

Краткое описание полей

Модификатор и тип Поле Описание
protected final byte[] buf
Буфер ввода для чтения сжатых данных.
protected final Deflater def
Компрессор для этого потока.

Поля, объявленные в классе FilterInputStream

in

Краткое описание конструкторов

Конструктор Описание
DeflaterInputStream(InputStream in)
Создает новый входной поток и компрессор с уровнем сжатия по умолчанию и размером буфера по умолчанию.
DeflaterInputStream(InputStream in, Deflater defl)
Создает новый входной поток с указанным компрессором и размером буфера по умолчанию.
DeflaterInputStream(InputStream in, Deflater defl, int bufLen)
Создает новый входной поток с указанным компрессором и размером буфера.

Краткое описание методов

Модификатор и тип Метод Описание
int available()
Возвращает 0 после достижения конца файла, в противном случае всегда возвращает 1.
void close()
Закрывает этот входной поток и лежащий в его основе входной поток, отбрасывая все ожидающие несжатые данные.
void mark(int limit)
Эта операция не поддерживается.
boolean markSupported()
Всегда возвращает false, поскольку этот входной поток не поддерживает методы mark() и reset().
int read()
Читает один байт сжатых данных из входного потока.
int read(byte[] b, int off, int len)
Читает сжатые данные в массив байтов.
void reset()
Эта операция не поддерживается.
long skip(long n)
Пропускает и отбрасывает данные из входного потока.

Методы, объявленные в классе FilterInputStream

read

Методы, объявленные в классе InputStream

nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание полей

def

protected final Deflater def
Компрессор для этого потока.

buf

protected final byte[] buf
Буфер ввода для чтения сжатых данных.

Подробное описание конструкторов

DeflaterInputStream

public DeflaterInputStream(InputStream in)
Создает новый входной поток и компрессор с уровнем сжатия по умолчанию и размером буфера по умолчанию.

Компрессор будет закрыт, когда этот входной поток будет закрыт.

Параметры:
in — входной поток для чтения несжатых данных
Исключения:
NullPointerException — если in равно null

DeflaterInputStream

public DeflaterInputStream(InputStream in, Deflater defl)
Создает новый входной поток с указанным компрессором и размером буфера по умолчанию.

Закрытие этого входного потока не приведет к закрытию переданного компрессора.

Параметры:
in — входной поток для чтения несжатых данных
defl — компрессор («deflater») для этого потока
Исключения:
NullPointerException — если in или defl равно null

DeflaterInputStream

public DeflaterInputStream(InputStream in, Deflater defl, int bufLen)
Создает новый входной поток с указанным компрессором и размером буфера.

Закрытие этого входного потока не приведет к закрытию переданного компрессора.

Параметры:
in — входной поток для чтения несжатых данных
defl — компрессор («deflater») для этого потока
bufLen — размер буфера сжатия
Исключения:
IllegalArgumentException — если bufLen <= 0
NullPointerException — если in или defl равно null

Подробное описание методов

close

public void close() throws IOException
Закрывает этот входной поток и лежащий в его основе входной поток, отбрасывая все ожидающие несжатые данные.
Определен в:
close в интерфейсе AutoCloseable
Определен в:
close в интерфейсе Closeable
Переопределяет:
close в классе FilterInputStream
Исключения:
IOException — при возникновении ошибки ввода-вывода
См. также:
  • FilterInputStream.in

read

public int read() throws IOException
Читает один байт сжатых данных из входного потока. Этот метод блокирует выполнение до тех пор, пока не появятся данные, которые можно прочитать и сжать.
Переопределяет:
read в классе FilterInputStream
Возвращает:
один байт сжатых данных или -1, если достигнут конец несжатого входного потока
Исключения:
IOException — при возникновении ошибки ввода-вывода или если этот поток уже закрыт
См. также:
  • FilterInputStream.in

read

public int read(byte[] b, int off, int len) throws IOException
Читает сжатые данные в массив байтов. Этот метод блокирует выполнение до тех пор, пока не появятся данные, которые можно прочитать и сжать.
Переопределяет:
read в классе FilterInputStream
Параметры:
b — буфер, в который считываются данные
off — начальное смещение данных в b
len — максимальное число сжатых байтов для чтения в b
Возвращает:
фактическое число прочитанных байтов или -1, если достигнут конец несжатого входного потока
Исключения:
NullPointerException — если b равно null
IndexOutOfBoundsException — если len > b.length - off
IOException — при возникновении ошибки ввода-вывода или если этот входной поток уже закрыт
См. также:
  • FilterInputStream.in

skip

public long skip(long n) throws IOException
Пропускает и отбрасывает данные из входного потока. Этот метод может блокировать выполнение, пока не будет пропущено указанное число байтов или не будет достигнут конец потока.
Переопределяет:
skip в классе FilterInputStream
Примечание по реализации:
Этот метод пропускает не более Integer.MAX_VALUE байтов.
Параметры:
n — число байтов, которые нужно пропустить. Если n равно нулю, байты не пропускаются.
Возвращает:
фактическое число пропущенных байтов, которое может быть равно нулю
Исключения:
IOException — при возникновении ошибки ввода-вывода или если этот поток уже закрыт
IllegalArgumentException — если n < 0
См. также:
  • InputStream.skipNBytes(long)

available

public int available() throws IOException
После достижения конца файла возвращает 0, в противном случае всегда возвращает 1.

Программы не должны рассчитывать на то, что этот метод возвращает фактическое число байтов, которые можно прочитать без блокировки

Переопределяет:
available в классе FilterInputStream
Возвращает:
ноль после достижения конца лежащего в основе входного потока; в противном случае всегда возвращает 1
Исключения:
IOException — при возникновении ошибки ввода-вывода или если этот поток уже закрыт

markSupported

public boolean markSupported()
Всегда возвращает false, поскольку этот входной поток не поддерживает методы mark() и reset().
Переопределяет:
markSupported в классе FilterInputStream
Возвращает:
всегда false
См. также:
  • FilterInputStream.in
  • InputStream.mark(int)
  • InputStream.reset()

mark

public void mark(int limit)
Эта операция не поддерживается.
Переопределяет:
mark в классе FilterInputStream
Параметры:
limit — максимальное число байтов, которое можно прочитать до того, как позиционная метка станет недействительной
См. также:
  • FilterInputStream.in
  • FilterInputStream.reset()

reset

public void reset() throws IOException
Эта операция не поддерживается.
Переопределяет:
reset в классе FilterInputStream
Исключения:
IOException — выбрасывается всегда
См. также:
  • FilterInputStream.in
  • FilterInputStream.mark(int)

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры основных понятий, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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/DeflaterInputStream.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API