Класс InflaterInputStream
- Все реализованные интерфейсы:
Closeable, AutoCloseable
- Прямые известные подклассы:
GZIPInputStream, ZipInputStream
public class InflaterInputStream extends FilterInputStream
Если не указано иное, передача аргумента null конструктору или методу этого класса приведет к выбрасыванию исключения NullPointerException.
Использование распаковщика
ОбъектInflaterInputStream, созданный без указания распаковщика, создаст распаковщик во время конструирования и закроет его, когда входной поток будет закрыт. Если при создании объекта InflaterInputStream указан распаковщик, вызывающий обязан закрыть распаковщик после закрытия входного потока.
- Примечание API:
- Для освобождения ресурсов, используемых этим потоком, следует вызвать метод
close()напрямую либо воспользоваться инструкциейtryс ресурсами. - Начиная с:
- 1.1
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected byte[] |
buf |
Входной буфер для распаковки. |
protected Inflater |
inf |
Распаковщик для этого потока. |
protected int |
len |
Общее количество байтов, прочитанных во входной буфер. |
Поля, объявленные в классе FilterInputStream
in
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
InflaterInputStream |
Создает новый входной поток и распаковщик с размером буфера по умолчанию. |
InflaterInputStream |
Создает новый входной поток с указанным распаковщиком и размером буфера по умолчанию. |
InflaterInputStream |
Создает новый входной поток с указанными распаковщиком и размером буфера. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
int |
available() |
Возвращает 0 после достижения EOF; в противном случае всегда возвращает 1. |
void |
close() |
Закрывает этот входной поток и освобождает все системные ресурсы, связанные с ним. |
protected void |
fill() |
Заполняет входной буфер дополнительными данными для распаковки. |
void |
mark |
Устанавливает отметку текущей позиции в этом входном потоке. |
boolean |
markSupported() |
Проверяет, поддерживает ли этот входной поток методы mark и reset. |
int |
read() |
Читает байт несжатых данных. |
int |
read |
Читает несжатые данные в массив байтов и возвращает количество распакованных байтов. |
void |
reset() |
Перемещает этот поток в позицию, в которой находился входной поток при последнем вызове метода mark. |
long |
skip |
Пропускает указанное количество байтов несжатых данных. |
Методы, объявленные в классе FilterInputStream
read
Методы, объявленные в классе InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
Подробное описание полей
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— если произошла ошибка ввода-вывода - См. также:
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, если достигнут конец сжатых входных данных либо требуется предустановленный словарь
- Исключения:
-
IndexOutOfBoundsException— еслиoffотрицательно,lenотрицательно илиlenбольшеb.length - off -
ZipException— если произошла ошибка формата ZIP -
IOException— если произошла ошибка ввода-вывода - См. также:
available
public int available() throws IOException
Программы не должны рассчитывать на то, что этот метод вернет фактическое количество байтов, которые можно прочитать без блокировки.
- Переопределяет:
-
availableв классеFilterInputStream - Возвращает:
- 1 до EOF и 0 после EOF.
- Исключения:
-
IOException— если произошла ошибка ввода-вывода.
skip
public long skip(long n) throws IOException
- Переопределяет:
-
skipв классеFilterInputStream - Примечание по реализации:
- Этот метод пропускает не более
Integer.MAX_VALUEбайтов. - Параметры:
-
n— количество пропускаемых байтов. Еслиnравно нулю, байты не пропускаются. - Возвращает:
- фактическое количество пропущенных байтов, которое может быть равно нулю
- Исключения:
-
IOException— если произошла ошибка ввода-вывода или этот поток уже закрыт -
IllegalArgumentException— еслиn < 0 - См. также:
close
public void close() throws IOException
- Определен в:
-
closeв интерфейсеAutoCloseable - Определен в:
-
closeв интерфейсеCloseable - Переопределяет:
-
closeв классеFilterInputStream - Исключения:
-
IOException— если произошла ошибка ввода-вывода - См. также:
fill
protected void fill() throws IOException
- Требования к реализации:
- Этот метод считывает во входной буфер до количества байтов, равного длине
buf, начиная с элементаbuf, под индексом0. Полеlenбудет установлено в значение количества прочитанных байтов. - Исключения:
-
IOException— если произошла ошибка ввода-вывода -
EOFException— если неожиданно достигнут конец входного потока
markSupported
public boolean markSupported()
mark и reset. Метод markSupported класса InflaterInputStream возвращает false.- Переопределяет:
-
markSupportedв классеFilterInputStream - Возвращает:
- значение
boolean, указывающее, поддерживает ли этот тип потока методыmarkиreset. - См. также:
mark
public void mark(int readlimit)
- Переопределяет:
-
markв классеFilterInputStream - Требования к реализации:
- Метод
markклассаInflaterInputStreamничего не делает. - Параметры:
-
readlimit— максимальное количество байтов, которое можно прочитать до того, как отметка станет недействительной. - См. также:
reset
public void reset() throws IOException
mark.- Переопределяет:
-
resetв классеFilterInputStream - Требования к реализации:
- Метод
resetклассаInflaterInputStreamничего не делает, кроме выбрасывания исключенияIOException. - Исключения:
-
IOException— при вызове этого метода. - См. также:
© 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/InflaterInputStream.html