Класс ZipFile
- Все реализуемые интерфейсы:
-
Closeable,AutoCloseable
- Непосредственные известные подклассы:
JarFile
public class ZipFile extends Object implements Closeable
Если не указано иное, передача null аргумента в конструктор или метод в этом классе приведет к исключению NullPointerException.
- Примечание API:
- Для освобождения ресурсов, используемых этим
ZipFile, следует явно вызвать методclose()или с помощью конструкции try-with-resources. Подклассы отвечают за очистку ресурсов, полученных подклассом. Подклассы, переопределяющиеObject.finalize()для выполнения очистки, должны быть изменены для использования альтернативных механизмов очистки, таких какCleaner, и удалить переопределенныйfinalizeметод. - С:
- 1.1
Краткое описание полей
| Modifier and Type | Field | Description |
|---|---|---|
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). |
static final int |
OPEN_DELETE |
Флаг режима открытия файла zip и маркировки его для удаления. |
static final int |
OPEN_READ |
Флаг режима открытия файла zip для чтения. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
ZipFile |
Открывает файл ZIP для чтения, используя указанный объект File. |
ZipFile |
Открывает новый ZipFile для чтения из указанного объекта File в указанном режиме. |
ZipFile |
Открывает новый ZipFile для чтения из указанного объекта File в указанном режиме. |
ZipFile |
Открывает файл ZIP для чтения, используя указанный объект File. |
ZipFile |
Открывает архив zip для чтения. |
ZipFile |
Открывает архив zip для чтения. |
Краткое описание методов
| Modifier and Type | Метод | Описание |
|---|---|---|
void |
close() |
Закрывает файл ZIP. |
Enumeration |
entries() |
Возвращает перечисление записей файла ZIP. |
String |
getComment() |
Возвращает комментарий к файлу zip, или null, если его нет. |
ZipEntry |
getEntry |
Возвращает запись zip-файла для указанного имени, или null, если не найдено. |
InputStream |
getInputStream |
Возвращает входной поток для чтения содержимого указанной записи zip-файла. |
String |
getName() |
Возвращает имя пути к файлу ZIP. |
int |
size() |
Возвращает количество записей в файле ZIP. |
Stream |
stream() |
Возвращает упорядоченное Stream по записям файла ZIP. |
Подробное описание полей
OPEN_READ
public static final int OPEN_READ
- См. также:
OPEN_DELETE
public static final int OPEN_DELETE
ZipFile до тех пор, пока не будет вызван метод close или виртуальная машина не выйдет из работы.- См. также:
LOCSIG
static final long LOCSIG
- См. также:
EXTSIG
static final long EXTSIG
- См. также:
CENSIG
static final long CENSIG
- См. также:
ENDSIG
static final long ENDSIG
- См. также:
LOCHDR
static final int LOCHDR
- См. также:
EXTHDR
static final int EXTHDR
- См. также:
CENHDR
static final int CENHDR
- См. также:
ENDHDR
static final int ENDHDR
- См. также:
LOCVER
static final int LOCVER
- См. также:
LOCFLG
static final int LOCFLG
- См. также:
LOCHOW
static final int LOCHOW
- См. также:
LOCTIM
static final int LOCTIM
- См. также:
LOCCRC
static final int LOCCRC
- См. также:
LOCSIZ
static final int LOCSIZ
- См. также:
LOCLEN
static final int LOCLEN
- См. также:
LOCNAM
static final int LOCNAM
- См. также:
LOCEXT
static final int LOCEXT
- См. также:
EXTCRC
static final int EXTCRC
- См. также:
EXTSIZ
static final int EXTSIZ
- См. также:
EXTLEN
static final int EXTLEN
- См. также:
CENVEM
static final int CENVEM
- См. также:
CENVER
static final int CENVER
- См. также:
CENFLG
static final int CENFLG
- См. также:
CENHOW
static final int CENHOW
- См. также:
CENTIM
static final int CENTIM
- См. также:
CENCRC
static final int CENCRC
- См. также:
Смещение поля размера сжатого заголовка центрального каталога (CEN)
static final int CENSIZ
- См. также:
Смещение поля размера незаархивированного заголовка центрального каталога (CEN)
static final int CENLEN
- См. также:
Смещение поля длины имени файла в заголовке центрального каталога (CEN)
static final int CENNAM
- См. также:
Смещение поля длины дополнительного поля в заголовке центрального каталога (CEN)
static final int CENEXT
- См. также:
Смещение поля длины комментария в заголовке центрального каталога (CEN)
static final int CENCOM
- См. также:
Смещение поля номера диска начала в заголовке центрального каталога (CEN)
static final int CENDSK
- См. также:
Смещение поля внутренних атрибутов файла в заголовке центрального каталога (CEN)
static final int CENATT
- См. также:
Смещение поля внешних атрибутов файла в заголовке центрального каталога (CEN)
static final int CENATX
- См. также:
Смещение поля смещения заголовка LOC в заголовке центрального каталога (CEN)
static final int CENOFF
- См. также:
Смещение поля количества записей на этом диске в заголовке конца центрального каталога (END)
static final int ENDSUB
- См. также:
Смещение поля общего количества записей в заголовке конца центрального каталога (END)
static final int ENDTOT
- См. также:
Смещение поля размера центрального каталога в байтах в заголовке конца центрального каталога (END)
static final int ENDSIZ
- См. также:
Смещение поля смещения первого заголовка CEN в заголовке конца центрального каталога (END)
static final int ENDOFF
- См. также:
Смещение поля длины комментария файла ZIP в заголовке конца центрального каталога (END)
static final int ENDCOM
- См. также:
Подробное описание конструкторов
ZipFile
public ZipFile(String name) throws IOException
Сначала, если существует менеджер безопасности, вызывается его метод checkRead с аргументом name для подтверждения разрешения на чтение.
Для декодирования имён записей и комментариев используется кодировка UTF-8 charset.
- Параметры:
-
name- имя zip-файла - Исключения:
-
ZipException- если произошла ошибка формата ZIP -
IOException- если произошла ошибка ввода-вывода -
SecurityException- если менеджер безопасности существует и его методcheckReadне разрешает чтение файла. - См. также:
ZipFile
public ZipFile(File file, int mode) throws IOException
ZipFile для чтения из указанного объекта File в указанном режиме. Аргумент режима должен быть либо OPEN_READ, либо OPEN_READ | OPEN_DELETE. Сначала, если существует менеджер безопасности, вызывается его метод checkRead с аргументом name для подтверждения разрешения на чтение.
Для декодирования имён записей и комментариев используется кодировка UTF-8 charset.
- Параметры:
-
file- открываемый для чтения ZIP-файл -
mode- режим открытия файла - Исключения:
-
ZipException- если произошла ошибка формата ZIP -
IOException- если произошла ошибка ввода-вывода -
SecurityException- если менеджер безопасности существует и его методcheckReadне разрешает чтение файла, или его методcheckDeleteне разрешает удаление файла, когда установлен флагOPEN_DELETE. -
IllegalArgumentException- если аргументmodeнекорректен - С:
- 1.3
- См. также:
ZipFile
public ZipFile(File file) throws ZipException, IOException
Для декодирования имён записей и комментариев используется кодировка UTF-8 charset.
- Параметры:
-
file- открываемый для чтения ZIP-файл - Исключения:
-
ZipException- если произошла ошибка формата ZIP -
IOException- если произошла ошибка ввода-вывода
ZipFile
public ZipFile(File file, int mode, Charset charset) throws IOException
ZipFile для чтения из указанного объекта File в указанном режиме. Аргумент режима должен быть либо OPEN_READ, либо OPEN_READ | OPEN_DELETE. Сначала, если существует менеджер безопасности, вызывается его метод checkRead с аргументом name для подтверждения разрешения на чтение.
- Параметры:
-
file- открываемый для чтения ZIP-файл -
mode- режим открытия файла -
charset- кодировка для декодирования имён и комментариев записей ZIP, которые не закодированы с помощью кодировки UTF-8 (указано в флаге общего назначения записи). - Исключения:
-
ZipException- если произошла ошибка формата ZIP -
IOException- если произошла ошибка ввода-вывода -
SecurityException- если менеджер безопасности существует и его методcheckReadне разрешает чтение файла, или его методcheckDeleteне разрешает удаление файла, когда установлен флагOPEN_DELETE -
IllegalArgumentException- если аргументmodeнекорректен - С:
- 1.7
- См. также:
ZipFile
public ZipFile(String name, Charset charset) throws IOException
Сначала, если есть менеджер безопасности, вызывается его метод checkRead с аргументом name для проверки разрешения на чтение.
- Parameters:
-
name- имя zip-архива -
charset- кодировка, которая используется для декодирования имени и комментария к записи ZIP, если они не закодированы с помощью кодировки UTF-8 (указано в флэге общего назначения записи). - Throws:
-
ZipException- если произошла ошибка формата ZIP -
IOException- если произошла ошибка ввода-вывода -
SecurityException- если существует менеджер безопасности, и его методcheckReadне разрешает чтение файла - Since:
- 1.7
- See Also:
ZipFile
public ZipFile(File file, Charset charset) throws IOException
- Parameters:
-
file- ZIP-архив для открытия на чтение -
charset- кодировка для декодирования имени и комментария к записи ZIP (игнорируется, если бит кодировки языка записи в флэге общего назначения записи установлен). - Throws:
-
ZipException- если произошла ошибка формата ZIP -
IOException- если произошла ошибка ввода-вывода - Since:
- 1.7
Подробное описание методов
getComment
public String getComment()
- Returns:
- строка комментария к zip-архиву или null, если комментарий отсутствует
- Throws:
-
IllegalStateException- если zip-архив закрыт - Since:
- 1.7
getEntry
public ZipEntry getEntry(String name)
- Parameters:
-
name- имя записи - Returns:
- запись zip-архива или null, если запись не найдена
- Throws:
-
IllegalStateException- если zip-архив закрыт
getInputStream
public InputStream getInputStream(ZipEntry entry) throws IOException
Закрытие этого ZIP-архива, в свою очередь, закроет все потоки, которые были возвращены вызовами этого метода.
- API Note:
- Возвращаемый
InputStreamметод может оборачиватьInflaterInputStream, методread(byte[], int, int)которого может изменять любой элемент буфера вывода. - Parameters:
-
entry- запись zip-архива - Returns:
- поток для чтения содержимого указанной записи zip-архива или null, если запись zip-архива не существует в zip-архиве.
- Throws:
-
ZipException- если произошла ошибка формата ZIP -
IOException- если произошла ошибка ввода-вывода -
IllegalStateException- если zip-архив закрыт
getName
public String getName()
- Returns:
- имя файла ZIP
entries
public Enumeration<? extends ZipEntry> entries()
- Returns:
- перечисление записей zip-архива
- Throws:
-
IllegalStateException- если zip-архив закрыт
stream
public Stream<? extends ZipEntry> stream()
Stream по записям ZIP-архива. Записи отображаются в Stream в порядке их появления в центральном каталоге ZIP-архива.- Returns:
- упорядоченный
Streamзаписей в этом ZIP-архиве - Throws:
-
IllegalStateException- если zip-архив закрыт - Since:
- 1.8
size
public int size()
- Returns:
- количество записей в zip-архиве
- Throws:
-
IllegalStateException- если zip-архив закрыт
close
public void close() throws IOException
Закрытие этого ZIP-архива закроет все потоки, ранее возвращенные вызовами метода getInputStream.
- Specified by:
-
closeв интерфейсеAutoCloseable - Specified by:
-
closeв интерфейсеCloseable - Throws:
-
IOException- если произошла ошибка ввода-вывода
© 1993, 2023, 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/21/docs/api/java.base/java/util/zip/ZipFile.html