Класс 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.
- См. также:
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.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в интерфейсеCloseable - Задано интерфейсом:
-
closeв интерфейсеAutoCloseable - Переопределяет:
-
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.