Класс GZIPInputStream
- java.lang.Object
-
- java.io.InputStream
-
- java.io.FilterInputStream
-
- java.util.zip.InflaterInputStream
-
- java.util.zip.GZIPInputStream
- Все реализованные интерфейсы:
- Closeable, AutoCloseable
public class GZIPInputStream extends InflaterInputStream
Этот класс реализует поток-фильтр для чтения сжатых данных в формате файла GZIP.
- См. также:
InflaterInputStream
Поля
| Модификатор и тип | Поле и описание |
|---|---|
protected CRC32 |
crc CRC-32 для несжатых данных. |
protected boolean |
eos Указывает на конец потока ввода. |
static int |
GZIP_MAGIC Магическое число заголовка GZIP. |
Поля, унаследованные от класса java.util.zip.InflaterInputStream
buf, inf, len
Поля, унаследованные от класса java.io.FilterInputStream
in
Конструкторы
| Конструктор и описание |
|---|
GZIPInputStream(InputStream in) Создает новый поток ввода с буфером по умолчанию. |
GZIPInputStream(InputStream in,
int size) Создает новый поток ввода с указанным размером буфера. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
close() Закрывает этот поток ввода и высвобождает все системные ресурсы, связанные с потоком. |
int |
read(byte[] buf,
int off,
int len) Читает несжатые данные в массив байтов. |
Методы, унаследованные от класса java.util.zip.InflaterInputStream
available, fill, mark, markSupported, read, reset, skip
Методы, унаследованные от класса java.io.FilterInputStream
read
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Подробное описание полей
crc
protected CRC32 crc
CRC-32 для несжатых данных.
eos
protected boolean eos
Указывает на конец потока ввода.
GZIP_MAGIC
public static final int GZIP_MAGIC
Магическое число заголовка GZIP.
- См. также:
- Значения константных полей
Подробное описание конструкторов
GZIPInputStream
public GZIPInputStream(InputStream in,
int size)
throws IOException
Создает новый поток ввода с указанным размером буфера.
- Параметры:
-
in- поток ввода -
size- размер буфера ввода - Исключения:
-
ZipException- если произошла ошибка формата GZIP или используемый метод сжатия не поддерживается -
IOException- если произошла ошибка ввода/вывода -
IllegalArgumentException- еслиsize <= 0
GZIPInputStream
public GZIPInputStream(InputStream in)
throws IOException
Создает новый поток ввода с буфером по умолчанию.
- Параметры:
-
in- поток ввода - Исключения:
-
ZipException- если произошла ошибка формата GZIP или используемый метод сжатия не поддерживается -
IOException- если произошла ошибка ввода/вывода
Подробное описание методов
read
public int read(byte[] buf,
int off,
int len)
throws IOException
Читает несжатые данные в массив байтов. Если len не равно нулю, метод будет блокироваться, пока не будут получены данные для декомпрессии; в противном случае байты не читаются и возвращается 0.
- Переопределяет:
-
readв классеInflaterInputStream - Параметры:
-
buf- буфер, в который считываются данные -
off- начальный смещение в целевом массивеb -
len- максимальное количество считанных байтов - Возвращает:
- фактическое количество считанных байтов или -1, если достигнут конец сжатого потока ввода
- Исключения:
-
NullPointerException- Еслиbufравноnull. -
IndexOutOfBoundsException- Еслиoffотрицательно,lenотрицательно илиlenбольше, чемbuf.length - off -
ZipException- если сжатые входные данные повреждены. -
IOException- если произошла ошибка ввода/вывода. - См. также:
FilterInputStream.in
close
public void close()
throws IOException
Закрывает этот поток ввода и высвобождает все системные ресурсы, связанные с потоком.
- Определяет:
-
closeв интерфейсеCloseable - Определяет:
-
closeв интерфейсеAutoCloseable - Переопределяет:
-
closeв классеInflaterInputStream - Исключения:
-
IOException- если произошла ошибка ввода/вывода - См. также:
FilterInputStream.in
© 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.