Класс ZipInputStream
java.lang.Object
java.io.InputStream
java.io.FilterInputStream
java.util.zip.InflaterInputStream
java.util.zip.ZipInputStream
- Все реализованные интерфейсы:
-
Closeable,AutoCloseable
- Прямые известные подклассы:
JarInputStream
public class ZipInputStream extends InflaterInputStream
Этот класс реализует фильтр входного потока для чтения файлов в формате ZIP-архива. Включает поддержку сжатых и несжатых записей.
- С момента:
- 1.1
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
CENATT |
Смещение поля атрибутов внутреннего файла заголовка центрального каталога (CEN). |
static final int |
CENATX |
Смещение поля атрибутов внешнего файла заголовка центрального каталога (CEN). |
static final int |
CENCOM |
Смещение поля длины комментария заголовка центрального каталога (CEN). |
static final int |
CENCRC |
Смещение поля значения crc-32 нескомпрессированного файла заголовка центрального каталога (CEN). |
static final int |
CENDSK |
Смещение поля номера диска начала заголовка центрального каталога (CEN). |
static final int |
CENEXT |
Смещение поля длины дополнительного поля заголовка центрального каталога (CEN). |
static final int |
CENFLG |
Смещение поля флагов шифрования/дешифрования заголовка центрального каталога (CEN). |
static final int |
CENHDR |
Размер заголовка центрального каталога (CEN) в байтах (включая подпись). |
static final int |
CENHOW |
Смещение поля метода сжатия заголовка центрального каталога (CEN). |
static final int |
CENLEN |
Смещение поля размера нескомпрессированного файла заголовка центрального каталога (CEN). |
static final int |
CENNAM |
Смещение поля длины имени файла заголовка центрального каталога (CEN). |
static final int |
CENOFF |
Смещение поля смещения заголовка LOC в заголовке центрального каталога (CEN). |
static final long |
CENSIG |
Подпись заголовка центрального каталога (CEN). |
static final int |
CENSIZ |
Смещение поля размера сжатого файла заголовка центрального каталога (CEN). |
static final int |
CENTIM |
Смещение поля времени изменения заголовка центрального каталога (CEN). |
static final int |
CENVEM |
Смещение поля версии, создавшей заголовок центрального каталога (CEN). |
static final int |
CENVER |
Смещение поля версии, необходимой для извлечения заголовка центрального каталога (CEN). |
static final int |
ENDCOM |
Смещение поля длины комментария архива ZIP в заголовке конца центрального каталога (END). |
static final int |
ENDHDR |
Размер заголовка конца центрального каталога (END) в байтах (включая подпись). |
static final int |
ENDOFF |
Смещение поля смещения первого заголовка CEN в заголовке конца центрального каталога (END). |
static final long |
ENDSIG |
Подпись заголовка конца центрального каталога (END). |
static final int |
ENDSIZ |
Смещение поля размера центрального каталога в байтах в заголовке конца центрального каталога (END). |
static final int |
ENDSUB |
Смещение поля количества записей на данном диске в заголовке конца центрального каталога (END). |
static final int |
ENDTOT |
Смещение поля общего количества записей в заголовке конца центрального каталога (END). |
static final int |
EXTCRC |
Смещение поля значения crc-32 нескомпрессированного файла дополнительного локального заголовка (EXT). |
static final int |
EXTHDR |
Размер дополнительного локального заголовка (EXT) в байтах (включая подпись). |
static final int |
EXTLEN |
Смещение поля размера нескомпрессированного файла дополнительного локального заголовка (EXT). |
static final long |
EXTSIG |
Подпись дополнительного локального заголовка (EXT). |
static final int |
EXTSIZ |
Смещение поля размера сжатого файла дополнительного локального заголовка (EXT). |
static final int |
LOCCRC |
Смещение поля значения crc-32 нескомпрессированного файла заголовка локального файла (LOC). |
static final int |
LOCEXT |
Смещение поля длины дополнительного поля заголовка локального файла (LOC). |
static final int |
LOCFLG |
Смещение поля флага общего назначения заголовка локального файла (LOC). |
static final int |
LOCHDR |
Размер заголовка локального файла (LOC) в байтах (включая подпись). |
static final int |
LOCHOW |
Смещение поля метода сжатия заголовка локального файла (LOC). |
static final int |
LOCLEN |
Смещение поля размера нескомпрессированного файла заголовка локального файла (LOC). |
static final int |
LOCNAM |
Смещение поля длины имени файла заголовка локального файла (LOC). |
static final long |
LOCSIG |
Подпись заголовка локального файла (LOC). |
static final int |
LOCSIZ |
Смещение поля размера сжатого файла заголовка локального файла (LOC). |
static final int |
LOCTIM |
Смещение поля времени изменения заголовка локального файла (LOC). |
static final int |
LOCVER |
Смещение поля версии, необходимой для извлечения заголовка локального файла (LOC). |
Поля, объявленные в классе java.util.zip.InflaterInputStream
buf, inf, len
Поля, объявленные в классе java.io.FilterInputStream
in
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
ZipInputStream |
Создаёт новый поток ввода ZIP. |
ZipInputStream |
Создаёт новый поток ввода ZIP. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
int |
available() |
Возвращает 0 после достижения конца файла для текущих данных записи, иначе всегда возвращает 1. |
void |
close() |
Закрывает этот поток ввода и высвобождает любые системные ресурсы, связанные с потоком. |
void |
closeEntry() |
Закрывает текущую запись ZIP и позиционирует поток для чтения следующей записи. |
protected ZipEntry |
createZipEntry |
Создаёт новый объект ZipEntry для указанного имени записи. |
ZipEntry |
getNextEntry() |
Читает следующую запись файла ZIP и позиционирует поток в начале данных записи. |
int |
read |
Читает из текущей записи ZIP в массив байтов. |
long |
skip |
Пропускает указанное количество байтов в текущей записи ZIP. |
Методы, объявленные в классе java.util.zip.InflaterInputStream
fill, mark, markSupported, read, reset
Методы, объявленные в классе java.io.FilterInputStream
read
Методы, объявленные в классе java.io.InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
Подробное описание полей
LOCSIG
static final long LOCSIG
Подпись заголовка локального файла (LOC).
- См. также:
EXTSIG
static final long EXTSIG
Подпись заголовка дополнительных локальных данных (EXT).
- См. также:
CENSIG
static final long CENSIG
Подпись заголовка центрального каталога (CEN).
- См. также:
ENDSIG
static final long ENDSIG
Подпись заголовка конца центрального каталога (END).
- См. также:
LOCHDR
static final int LOCHDR
Размер заголовка локального файла (LOC) в байтах (включая подпись).
- См. также:
EXTHDR
static final int EXTHDR
Размер заголовка дополнительных локальных данных (EXT) в байтах (включая подпись).
- См. также:
CENHDR
static final int CENHDR
Размер заголовка центрального каталога (CEN) в байтах (включая подпись).
- См. также:
ENDHDR
static final int ENDHDR
Размер заголовка конца центрального каталога (END) в байтах (включая подпись).
- См. также:
LOCVER
static final int LOCVER
Смещение поля версии заголовка локального файла (LOC), необходимой для извлечения.
- См. также:
LOCFLG
static final int LOCFLG
Смещение поля флага общего назначения заголовка локального файла (LOC).
- См. также:
LOCHOW
static final int LOCHOW
Смещение поля метода сжатия заголовка локального файла (LOC).
- См. также:
LOCTIM
static final int LOCTIM
Смещение поля времени изменения заголовка локального файла (LOC).
- См. также:
LOCCRC
static final int LOCCRC
Смещение поля значения CRC-32 нескомпрессированного файла заголовка локального файла (LOC).
- См. также:
LOCSIZ
static final int LOCSIZ
Смещение поля сжатого размера заголовка локального файла (LOC).
- См. также:
LOCLEN
static final int LOCLEN
Смещение поля размера нескомпрессированного файла заголовка локального файла (LOC).
- См. также:
LOCNAM
static final int LOCNAM
Смещение поля длины имени файла заголовка локального файла (LOC).
- См. также:
LOCEXT
static final int LOCEXT
Смещение поля длины дополнительного поля заголовка локального файла (LOC).
- См. также:
EXTCRC
static final int EXTCRC
Смещение поля значения CRC-32 нескомпрессированного файла заголовка дополнительных локальных данных (EXT).
- См. также:
EXTSIZ
static final int EXTSIZ
Смещение поля сжатого размера заголовка дополнительных локальных данных (EXT).
- См. также:
EXTLEN
static final int EXTLEN
Смещение поля размера нескомпрессированного файла заголовка дополнительных локальных данных (EXT).
- См. также:
CENVEM
static final int CENVEM
Смещение поля версии, созданной заголовком центрального каталога (CEN).
- См. также:
CENVER
static final int CENVER
Смещение поля версии, необходимой для извлечения заголовка центрального каталога (CEN).
- См. также:
CENFLG
static final int CENFLG
Смещение поля флагов шифрования/расшифрования заголовка центрального каталога (CEN).
- См. также:
CENHOW
static final int CENHOW
Смещение поля метода сжатия заголовка центрального каталога (CEN).
- См. также:
CENTIM
static final int CENTIM
Смещение поля времени изменения заголовка центрального каталога (CEN).
- См. также:
CENCRC
static final int CENCRC
Смещение поля значения CRC-32 нескомпрессированного файла заголовка центрального каталога (CEN).
- См. также:
CENSIZ
static final int CENSIZ
Смещение поля сжатого размера заголовка центрального каталога (CEN).
- См. также:
CENLEN
static final int CENLEN
Смещение поля размера нескомпрессированного файла заголовка центрального каталога (CEN).
- См. также:
Смещение длины имени заголовка центрального каталога (CEN)
static final int CENNAM
Смещение поля длины имени файла заголовка центрального каталога (CEN).
- См. также:
Смещение длины дополнительного поля заголовка центрального каталога (CEN)
static final int CENEXT
Смещение поля длины дополнительного поля заголовка центрального каталога (CEN).
- См. также:
Смещение длины поля комментария заголовка центрального каталога (CEN)
static final int CENCOM
Смещение поля длины комментария заголовка центрального каталога (CEN).
- См. также:
Смещение поля номера диска начала заголовка центрального каталога (CEN)
static final int CENDSK
Смещение поля номера диска начала заголовка центрального каталога (CEN).
- См. также:
Смещение поля внутренних атрибутов файла заголовка центрального каталога (CEN)
static final int CENATT
Смещение поля внутренних атрибутов файла заголовка центрального каталога (CEN).
- См. также:
Смещение поля внешних атрибутов файла заголовка центрального каталога (CEN)
static final int CENATX
Смещение поля внешних атрибутов файла заголовка центрального каталога (CEN).
- См. также:
Смещение поля смещения заголовка LOC заголовка центрального каталога (CEN)
static final int CENOFF
Смещение поля смещения заголовка LOC заголовка центрального каталога (CEN).
- См. также:
Смещение поля количества записей на этом диске заголовка конца центрального каталога (END)
static final int ENDSUB
Смещение поля количества записей на этом диске заголовка конца центрального каталога (END).
- См. также:
Смещение поля общего количества записей заголовка конца центрального каталога (END)
static final int ENDTOT
Смещение поля общего количества записей заголовка конца центрального каталога (END).
- См. также:
Смещение поля размера центрального каталога в байтах заголовка конца центрального каталога (END)
static final int ENDSIZ
Смещение поля размера центрального каталога в байтах заголовка конца центрального каталога (END).
- См. также:
Смещение поля смещения первого заголовка CEN заголовка конца центрального каталога (END)
static final int ENDOFF
Смещение поля смещения первого заголовка CEN заголовка конца центрального каталога (END).
- См. также:
Смещение поля длины комментария ZIP-файла заголовка конца центрального каталога (END)
static final int ENDCOM
Смещение поля длины комментария ZIP-файла заголовка конца центрального каталога (END).
- См. также:
Подробное описание конструкторов
ZipInputStream
public ZipInputStream(InputStream in)
Создаёт новый поток ввода ZIP.
Для декодирования имён записей используется кодировка UTF-8.
- Параметры:
-
in- фактический поток ввода
ZipInputStream
public ZipInputStream(InputStream in, Charset charset)
Создаёт новый поток ввода ZIP.
- Параметры:
-
in- фактический поток ввода -
charset- Кодировка, используемая для декодирования имени записи ZIP (игнорируется, если бит кодировки языка записи ZIP установлен в поле флага общего назначения). - С:
- 1.7
Подробное описание методов
getNextEntry
public ZipEntry getNextEntry() throws IOException
Считывает следующую запись ZIP-файла и позиционирует поток в начале данных записи.
- Возвращает:
- следующую запись ZIP-файла или null, если больше записей нет
- Исключения:
-
ZipException- если произошла ошибка ZIP-файла -
IOException- если произошла ошибка ввода-вывода
closeEntry
public void closeEntry() throws IOException
Закрывает текущую запись ZIP и позиционирует поток для чтения следующей записи.
- Исключения:
-
ZipException- если произошла ошибка ZIP-файла -
IOException- если произошла ошибка ввода-вывода
available
public int available() throws IOException
Возвращает 0 после достижения конца файла для текущих данных записи, иначе всегда возвращает 1.
Программы не должны полагаться на эту функцию для возвращения фактического количества байт, которые можно прочитать без блокировки.
- Переопределяет:
-
availableв классеInflaterInputStream - Возвращает:
- 1 перед концом файла и 0 после достижения конца файла для текущей записи.
- Исключения:
-
IOException- если произошла ошибка ввода-вывода.
read
public int read(byte[] b, int off, int len) throws IOException
Считывает из текущей ZIP-записи в массив байтов. Если
len не равно нулю, метод блокируется до тех пор, пока не появятся какие-либо входные данные; в противном случае байты не считываются и возвращается 0.
- Переопределяет:
-
readв классеInflaterInputStream - Параметры:
-
b- буфер, в который считываются данные -
off- начальный смещение в целевом массивеb -
len- максимальное количество считываемых байтов - Возвращает:
- фактическое количество считанных байтов или -1, если достигнут конец записи
- Исключения:
-
NullPointerException- еслиbравноnull. -
IndexOutOfBoundsException- еслиoffотрицательно,lenотрицательно илиlenбольшеb.length - off -
ZipException- если произошла ошибка ZIP-файла -
IOException- если произошла ошибка ввода-вывода - См. также:
skip
public long skip(long n) throws IOException
Пропускает указанное количество байтов в текущей ZIP-записи.
- Переопределяет:
-
skipв классеInflaterInputStream - Параметры:
-
n- количество байтов для пропуска - Возвращает:
- фактическое количество пропущенных байтов
- Исключения:
-
ZipException- если произошла ошибка ZIP-файла -
IOException- если произошла ошибка ввода-вывода -
IllegalArgumentException- еслиn < 0 - См. также:
close
public void close() throws IOException
Закрывает этот поток ввода и высвобождает любые системные ресурсы, связанные с потоком.
- Указано в:
-
closeв интерфейсеAutoCloseable - Указано в:
-
closeв интерфейсеCloseable - Переопределяет:
-
closeв классеInflaterInputStream - Исключения:
-
IOException- если произошла ошибка ввода-вывода - См. также:
createZipEntry
protected ZipEntry createZipEntry(String name)
Создаёт новый объект
ZipEntry для указанного имени записи.- Параметры:
-
name- имя записи ZIP-файла - Возвращает:
- созданный объект ZipEntry
© 1993, 2021, 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/17/docs/api/java.base/java/util/zip/ZipInputStream.html