Класс 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 после достижения конца файла (EOF), иначе всегда возвращает 1. |
void | close() | Закрывает этот поток ввода и высвобождает все системные ресурсы, связанные с потоком. |
protected void | fill() | Заполняет буфер ввода дополнительными данными для распаковки. |
void | mark(int readlimit) | Помечает текущую позицию в этом потоке ввода. |
boolean | markSupported() | Проверяет, поддерживает ли этот поток ввода методы |
int | read() | Считывает один байт нескомпрессированных данных. |
int | read(byte[] b,
int off,
int len) | Считывает нескомпрессированные данные в массив байтов. |
void | reset() | Перемещает этот поток в позицию, существовавшую в момент последнего вызова метода |
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