Класс 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
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
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-файл для чтения. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
close() |
Закрывает ZIP-файл. |
Enumeration |
entries() |
Возвращает перечисление записей ZIP-файла. |
String |
getComment() |
Возвращает комментарий ZIP-файла. |
ZipEntry |
getEntry |
Возвращает запись ZIP-файла с указанным именем или null, если она не найдена. |
InputStream |
getInputStream |
Возвращает входной поток для чтения содержимого указанной записи ZIP-файла. |
String |
getName() |
Возвращает имя пути ZIP-файла. |
int |
size() |
Возвращает количество записей в ZIP-файле. |
Stream |
stream() |
Возвращает упорядоченный Stream по записям ZIP-файла. |
String |
toString() |
Возвращает строку, идентифицирующую этот ZipFile, для отладки. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли какой-либо другой объект этому объекту. |
protected void |
finalize() |
Устарело, планируется удаление: этот элемент API может быть удалён в будущей версии. Финализация устарела и может быть удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
Подробное описание полей
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
Для декодирования имён записей и комментариев используется кодировка UTF-8 charset.
- Параметры:
-
name— имя ZIP-файла - Исключения:
-
ZipException— если произошла ошибка формата ZIP -
IOException— если произошла ошибка ввода-вывода
ZipFile
public ZipFile(File file, int mode) throws IOException
ZipFile для чтения из указанного объекта File в заданном режиме. Аргумент режима должен иметь значение OPEN_READ или OPEN_READ | OPEN_DELETE. Для декодирования имён записей и комментариев используется кодировка UTF-8 charset.
- Параметры:
-
file— ZIP-файл, который нужно открыть для чтения -
mode— режим, в котором следует открыть файл - Исключения:
-
ZipException— если произошла ошибка формата ZIP -
IOException— если произошла ошибка ввода-вывода -
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.- Параметры:
-
file— ZIP-файл, который нужно открыть для чтения -
mode— режим, в котором следует открыть файл -
charset— кодировка, используемая для декодирования имени записи ZIP и комментария, не закодированных в UTF-8 (что определяется флагом общего назначения записи). - Исключения:
-
ZipException— если произошла ошибка формата ZIP -
IOException— если произошла ошибка ввода-вывода -
IllegalArgumentException— если аргументmodeнедопустим - Начиная с:
- 1.7
ZipFile
public ZipFile(String name, Charset charset) throws IOException
- Параметры:
-
name— имя ZIP-файла -
charset— кодировка, используемая для декодирования имени записи ZIP и комментария, не закодированных в UTF-8 (что определяется флагом общего назначения записи). - Исключения:
-
ZipException— если произошла ошибка формата ZIP -
IOException— если произошла ошибка ввода-вывода - Начиная с:
- 1.7
ZipFile
public ZipFile(File file, Charset charset) throws IOException
- Параметры:
-
file— ZIP-файл, который нужно открыть для чтения -
charset— кодировка, используемая для декодирования имени записи ZIP и комментария (игнорируется, если установлен бит языковой кодировки флага общего назначения записи ZIP). - Исключения:
-
ZipException— если произошла ошибка формата ZIP -
IOException— если произошла ошибка ввода-вывода - Начиная с:
- 1.7
Подробное описание методов
getComment
public String getComment()
null.- Возвращает:
- строку комментария ZIP-файла или null, если комментарий отсутствует
- Исключения:
-
IllegalStateException— если ZIP-файл закрыт - Начиная с:
- 1.7
getEntry
public ZipEntry getEntry(String name)
- Параметры:
-
name— имя записи - Возвращает:
- запись ZIP-файла или null, если она не найдена
- Исключения:
-
IllegalStateException— если ZIP-файл закрыт
getInputStream
public InputStream getInputStream(ZipEntry entry) throws IOException
При закрытии этого ZIP-файла также закрываются все входные потоки, возвращённые вызовами данного метода.
- Примечание API:
- Объект
InputStream, возвращаемый этим методом, может оборачиватьInflaterInputStream, методread(byte[], int, int)которого может изменять любой элемент выходного буфера. - Параметры:
-
entry— запись ZIP-файла - Возвращает:
- входной поток для чтения содержимого указанной записи ZIP-файла или null, если запись отсутствует в ZIP-файле.
- Исключения:
-
ZipException— если произошла ошибка формата ZIP -
IOException— если произошла ошибка ввода-вывода -
IllegalStateException— если ZIP-файл закрыт
getName
public String getName()
- Возвращает:
- имя пути к ZIP-файлу
toString
entries
public Enumeration<? extends ZipEntry> entries()
- Возвращает:
- перечисление записей ZIP-файла
- Исключения:
-
IllegalStateException— если ZIP-файл закрыт
stream
public Stream<? extends ZipEntry> stream()
Stream записей ZIP-файла. Записи появляются в Stream в том же порядке, в котором они расположены в центральном каталоге ZIP-файла.- Возвращает:
- упорядоченный
Streamзаписей этого ZIP-файла - Исключения:
-
IllegalStateException— если ZIP-файл закрыт - Начиная с:
- 1.8
size
public int size()
- Возвращает:
- число записей в ZIP-файле
- Исключения:
-
IllegalStateException— если ZIP-файл закрыт
close
public void close() throws IOException
При закрытии этого ZIP-файла также закрываются все входные потоки, ранее возвращённые вызовами метода getInputStream.
- Определено в:
-
closeв интерфейсеAutoCloseable - Определено в:
-
closeв интерфейсеCloseable - Исключения:
-
IOException— если произошла ошибка ввода-вывода
© 1993, 2025, 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.