Класс ZipFile
- Все реализованные интерфейсы:
-
Closeable,AutoCloseable
- Непосредственные известные подклассы:
JarFile
public class ZipFile extends Object implements Closeable
Если не указано иное, передача null аргумента конструктору или методу в этом классе вызовет NullPointerException.
- Примечание API:
- Для освобождения ресурсов, используемых этим
ZipFile, методclose()должен быть явно вызван или через try-with-resources. Подклассы несут ответственность за очистку ресурсов, полученных подклассом. Подклассы, переопределяющиеObject.finalize()для выполнения очистки, должны быть изменены для использования альтернативных механизмов очистки, таких какCleaner, и удалить переопределенныйfinalizeметод. - C:
- 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<? extends ZipEntry> |
entries() |
Возвращает перечисление записей файла ZIP. |
String |
getComment() |
Возвращает комментарий файла zip, или null, если его нет. |
ZipEntry |
getEntry |
Возвращает запись файла zip по заданному имени, или null, если не найдена. |
InputStream |
getInputStream |
Возвращает поток ввода для чтения содержимого указанной записи zip-файла. |
String |
getName() |
Возвращает имя пути к файлу ZIP. |
int |
size() |
Возвращает количество записей в файле ZIP. |
Stream<? extends ZipEntry> |
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
- См. также:
CENSIZ
static final int CENSIZ
- См. также:
CENLEN
static final int CENLEN
- См. также:
CENNAM
static final int CENNAM
- См. также:
CENEXT
static final int CENEXT
- См. также:
CENCOM
static final int CENCOM
- См. также:
CENDSK
static final int CENDSK
- См. также:
CENATT
static final int CENATT
- См. также:
CENATX
static final int CENATX
- См. также:
CENOFF
static final int CENOFF
- См. также:
ENDSUB
static final int ENDSUB
- См. также:
ENDTOT
static final int ENDTOT
- См. также:
ENDSIZ
static final int ENDSIZ
- См. также:
ENDOFF
static final int ENDOFF
- См. также:
ENDCOM
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- Кодировка для декодирования имени и комментария записи (игнорируется, если установлен бит кодировки языка в флагах общего назначения записи). - 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-архива, в свою очередь, закроет все потоки ввода, возвращенные вызовами этого метода.
- Parameters:
-
entry- запись zip-архива - Returns:
- поток ввода для чтения содержимого указанной записи zip-архива.
- Throws:
-
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, 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/ZipFile.html