Spec-Zone.ru › OpenJDK 21

Класс InflaterInputStream

java.lang.Object
java.io.InputStream
java.io.FilterInputStream
java.util.zip.InflaterInputStream
Все реализованные интерфейсы:
Closeable, AutoCloseable
Непосредственные известные подклассы:
GZIPInputStream, ZipInputStream
public class InflaterInputStream extends FilterInputStream
Этот класс реализует фильтр потока для распаковки данных в формате сжатия "deflate". Он также используется в качестве основы для других фильтров распаковки, таких как GZIPInputStream.
С:
1.1
См. также:
  • Inflater

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

Модификатор и тип Поле Описание
protected byte[] buf
Буфер ввода для распаковки.
protected Inflater inf
Распаковщик для этого потока.
protected int len
Общее количество байтов, прочитанных в буфер ввода.

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

in

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

Конструктор Описание
InflaterInputStream(InputStream in)
Создает новый поток ввода с дефолтным распаковщиком и размером буфера.
InflaterInputStream(InputStream in, Inflater inf)
Создает новый поток ввода со специфицированным распаковщиком и дефолтным размером буфера.
InflaterInputStream(InputStream in, Inflater inf, int size)
Создает новый поток ввода со специфицированным распаковщиком и размером буфера.

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

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

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

read

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

nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo

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

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

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

inf

protected Inflater inf
Декомпрессор для этого потока.

buf

protected byte[] buf
Буфер ввода для декомпрессии.

len

protected int len
Общее количество байтов, считанных в буфер ввода.

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

InflaterInputStream

public InflaterInputStream(InputStream in, Inflater inf, int size)
Создаёт новый входной поток со заданным декомпрессором и размером буфера.
Параметры:
in - входной поток
inf - декомпрессор ("inflater")
size - размер буфера ввода
Исключения:
IllegalArgumentException - если size <= 0

InflaterInputStream

public InflaterInputStream(InputStream in, Inflater inf)
Создаёт новый входной поток со заданным декомпрессором и стандартным размером буфера.
Параметры:
in - входной поток
inf - декомпрессор ("inflater")

InflaterInputStream

public InflaterInputStream(InputStream in)
Создаёт новый входной поток со стандартным декомпрессором и размером буфера.
Параметры:
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
Считывает нескомпрессированные данные в массив байтов, возвращая количество распакованных байтов. Если len не равно нулю, метод будет блокироваться, пока не будут доступны данные для декомпрессии; в противном случае данные не считываются, и возвращается 0.

Если этот метод возвращает ненулевое целое число n, то buf[off] по buf[off+n-1] содержат нескомпрессированные данные. Содержимое элементов buf[off+n] по buf[off+len-1] не определено, в отличие от спецификации суперкласса InputStream, поэтому реализация свободна изменять эти элементы во время операции распаковки. Если этот метод возвращает -1 или выбрасывает исключение, то содержимое buf[off] по buf[off+len -1] не определено.

Переопределяет:
read в классе FilterInputStream
Параметры:
b - буфер, в который считываются данные
off - начальный смещение в целевом массиве b
len - максимальное количество считываемых байтов
Возвращает:
фактическое количество распакованных байтов или -1, если достигнут конец сжатых данных или необходим предварительно заданный словарь
Исключения:
NullPointerException - Если b - null.
IndexOutOfBoundsException - Если off отрицательное, len отрицательное или len больше, чем b.length - off
ZipException - если произошла ошибка в формате ZIP
IOException - если произошла ошибка ввода-вывода
См. также:
  • FilterInputStream.in

available

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

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

Переопределяет:
available в классе FilterInputStream
Возвращает:
1 перед EOF и 0 после EOF.
Исключения:
IOException - если произошла ошибка ввода-вывода.

skip

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

close

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

fill

protected void fill() throws IOException
Заполняет буфер ввода дополнительными данными для декомпрессии.
Требования к реализации:
Этот метод прочитает до buf.length байтов в буфер ввода, buf, начиная с элемента 0. Поле len будет установлено в количество считанных байтов.
Исключения:
IOException - если произошла ошибка ввода-вывода
EOFException - если конец входного потока был достигнут неожиданно

markSupported

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

mark

public void mark(int readlimit)
Помечает текущую позицию в этом входном потоке.
Переопределяет:
mark в классе FilterInputStream
Требования к реализации:
Метод mark класса InflaterInputStream ничего не делает.
Параметры:
readlimit - максимальный лимит байтов, которые могут быть прочитаны, прежде чем позиция метки станет недоступной.
См. также:
  • InputStream.reset()

reset

public void reset() throws IOException
Возвращает этот поток в позицию, в которой метод mark был вызван последний раз для данного входного потока.
Переопределяет:
reset в классе FilterInputStream
Требования к реализации:
Метод reset для класса InflaterInputStream ничего не делает, кроме как выбросить IOException.
Исключения:
IOException - если этот метод вызван.
См. также:
  • InputStream.mark(int)
  • IOException

© 1993, 2023, 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/21/docs/api/java.base/java/util/zip/InflaterInputStream.html

Spec-Zone.ru

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