Класс 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 после достижения конца файла (EOF), иначе всегда возвращает 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, 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.

Переопределяет:
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

close

public void close()
           throws IOException

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

Определено в:
close в интерфейсе AutoCloseable
Определено в:
close в интерфейсе Closeable
Переопределяет:
close в классе FilterInputStream
Исключения:
IOException - если произошла ошибка ввода-вывода
См. также:
FilterInputStream.in

fill

protected void fill()
             throws IOException

Заполняет буфер ввода дополнительными данными для декомпрессии.

Исключения:
IOException - если произошла ошибка ввода-вывода

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 класса InflaterInputStream ничего не делает.

Переопределяет:
mark в классе FilterInputStream
Параметры:
readlimit - максимальный предел байтов, которые могут быть прочитаны, прежде чем позиция метки станет недействительной.
См. также:
InputStream.reset()

reset

public void reset()
           throws IOException

Возвращает этот поток в позицию, на которой был метод mark был вызван последний раз для этого входного потока.

Метод reset класса InflaterInputStream ничего не делает, кроме как выбросить IOException.

Переопределяет:
reset в классе FilterInputStream
Исключения:
IOException - если этот метод вызван.
См. также:
InputStream.mark(int), IOException

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

Spec-Zone .ru
спецификации, руководства, описания, API