Класс InflaterInputStream
- Все реализованные интерфейсы:
Closeable, AutoCloseable
- Прямые известные подклассы:
GZIPInputStream, ZipInputStream
public class InflaterInputStream extends FilterInputStream
Если не указано иное, передача аргумента null конструктору или методу этого класса приводит к выбросу исключения NullPointerException.
Использование декомпрессора
ЭкземплярInflaterInputStream, созданный без указания декомпрессора, создаст декомпрессор во время конструирования и закроет его, когда входной поток будет закрыт. Если при создании экземпляра InflaterInputStream указан декомпрессор, вызывающий код отвечает за то, чтобы закрыть декомпрессор после закрытия входного потока.
- Примечание к API:
- Для освобождения ресурсов, используемых этим потоком, следует вызвать метод
close()непосредственно или использовать операторtry-with-resources. - С версии:
- 1.1
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected byte[] |
buf |
Входной буфер для распаковки. |
protected Inflater |
inf |
Декомпрессор для этого потока. |
protected int |
len |
Общее количество байтов, прочитанных во входной буфер. |
Поля, объявленные в классе FilterInputStream
in | Модификатор и тип | Поле | Описание |
|---|---|---|
protected InputStream |
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 | Модификатор и тип | Метод | Описание |
|---|---|---|
int |
read |
Читает из этого входного потока в массив байтов не более b.length байтов данных. |
Методы, объявленные в классе InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo | Модификатор и тип | Метод | Описание |
|---|---|---|
static InputStream |
nullInputStream() |
Возвращает новый InputStream, который не читает байты. |
byte[] |
readAllBytes() |
Читает все оставшиеся байты из входного потока. |
int |
readNBytes |
Читает из входного потока запрошенное количество байтов в указанный массив байтов. |
byte[] |
readNBytes |
Читает из входного потока не более указанного количества байтов. |
void |
skipNBytes |
Пропускает и отбрасывает из этого входного потока ровно n байтов данных. |
long |
transferTo |
Читает все байты из этого входного потока и записывает их в указанный выходной поток в порядке чтения. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Показывает, равен ли этот объект какому-либо другому объекту. |
protected void |
finalize() |
Устарело и предназначено для удаления: этот элемент API может быть удален в будущей версии. Финализация устарела и может быть удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
Подробное описание полей
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 после него.
- Выбрасывает:
-
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.length байтов, начиная с элемента0, и помещает их вbuf. Полю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.