Spec-Zone.ru › OpenJDK 24

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

Если не указано иное, передача null аргумента в конструктор или метод в этом классе приведёт к возникновению исключения NullPointerException.

С момента:
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, если достигнут конец сжатого ввода или необходим предварительно заданный словарь
Исключения:
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
Примечание реализации:
Этот метод пропускает не более Integer.MAX_VALUE байтов.
Параметры:
n - количество байтов для пропуска. Если 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, 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/util/zip/InflaterInputStream.html

Spec-Zone.ru

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