Spec-Zone.ru › OpenJDK 27

Класс ZipFile

java.lang.Object
java.util.zip.ZipFile
Все реализуемые интерфейсы:
Closeable, AutoCloseable
Прямые известные подклассы:
JarFile
public class ZipFile extends Object implements Closeable
Этот класс используется для чтения записей из ZIP-файла.

Если не указано иное, передача аргумента 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(File file)
Открывает ZIP-файл для чтения, используя указанный объект File.
ZipFile(File file, int mode)
Открывает новый ZipFile для чтения из указанного объекта File в заданном режиме.
ZipFile(File file, int mode, Charset charset)
Открывает новый ZipFile для чтения из указанного объекта File в заданном режиме.
ZipFile(File file, Charset charset)
Открывает ZIP-файл для чтения, используя указанный объект File.
ZipFile(String name)
Открывает ZIP-файл для чтения.
ZipFile(String name, Charset charset)
Открывает ZIP-файл для чтения.

Краткое описание методов

Модификатор и тип Метод Описание
void close()
Закрывает ZIP-файл.
Enumeration<? extends ZipEntry> entries()
Возвращает перечисление записей ZIP-файла.
String getComment()
Возвращает комментарий ZIP-файла.
ZipEntry getEntry(String name)
Возвращает запись ZIP-файла с указанным именем или null, если она не найдена.
InputStream getInputStream(ZipEntry entry)
Возвращает входной поток для чтения содержимого указанной записи ZIP-файла.
String getName()
Возвращает имя пути ZIP-файла.
int size()
Возвращает количество записей в ZIP-файле.
Stream<? extends ZipEntry> stream()
Возвращает упорядоченный Stream по записям ZIP-файла.
String toString()
Возвращает строку, идентифицирующую этот ZipFile, для отладки.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли какой-либо другой объект этому объекту.
protected void finalize()
Устарело, планируется удаление: этот элемент API может быть удалён в будущей версии.
Финализация устарела и может быть удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного промежутка реального времени.

Подробное описание полей

OPEN_READ

public static final int OPEN_READ
Флаг режима для открытия ZIP-файла для чтения.
См. также:
  • Значения констант полей

OPEN_DELETE

public static final int OPEN_DELETE
Флаг режима для открытия ZIP-файла с пометкой на удаление. Файл будет удалён в какой-либо момент между открытием и закрытием, но его содержимое останется доступным через объект ZipFile до вызова метода close или завершения работы виртуальной машины.
См. также:
  • Значения констант полей

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).
См. также:
  • Значения констант полей

CENNAM

static final int CENNAM
Смещение поля длины имени файла в заголовке центрального каталога (CEN).
См. также:
  • Значения констант полей

CENEXT

static final int CENEXT
Смещение поля длины дополнительного поля в заголовке центрального каталога (CEN).
См. также:
  • Значения констант полей

CENCOM

static final int CENCOM
Смещение поля длины комментария в заголовке центрального каталога (CEN).
См. также:
  • Значения констант полей

CENDSK

static final int CENDSK
Смещение поля начального номера диска в заголовке центрального каталога (CEN).
См. также:
  • Значения констант полей

CENATT

static final int CENATT
Смещение поля внутренних атрибутов файла в заголовке центрального каталога (CEN).
См. также:
  • Значения констант полей

CENATX

static final int CENATX
Смещение поля внешних атрибутов файла в заголовке центрального каталога (CEN).
См. также:
  • Значения констант полей

CENOFF

static final int CENOFF
Смещение поля смещения заголовка LOC в заголовке центрального каталога (CEN).
См. также:
  • Значения констант полей

ENDSUB

static final int ENDSUB
Смещение поля числа записей на этом диске в заголовке конца центрального каталога (END).
См. также:
  • Значения констант полей

ENDTOT

static final int ENDTOT
Смещение поля общего числа записей в заголовке конца центрального каталога (END).
См. также:
  • Значения констант полей

ENDSIZ

static final int ENDSIZ
Смещение поля размера центрального каталога в байтах в заголовке конца центрального каталога (END).
См. также:
  • Значения констант полей

ENDOFF

static final int ENDOFF
Смещение поля смещения первого заголовка CEN в заголовке конца центрального каталога (END).
См. также:
  • Значения констант полей

ENDCOM

static final int ENDCOM
Смещение поля длины комментария ZIP-файла в заголовке конца центрального каталога (END).
См. также:
  • Значения констант полей

Подробное описание конструкторов

ZipFile

public ZipFile(String name) throws IOException
Открывает ZIP-файл для чтения.

Для декодирования имён записей и комментариев используется кодировка 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
Открывает ZIP-файл для чтения, используя указанный объект File.

Для декодирования имён записей и комментариев используется кодировка 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
Открывает ZIP-файл для чтения.
Параметры:
name — имя ZIP-файла
charset — кодировка, используемая для декодирования имени записи ZIP и комментария, не закодированных в UTF-8 (что определяется флагом общего назначения записи).
Исключения:
ZipException — если произошла ошибка формата ZIP
IOException — если произошла ошибка ввода-вывода
Начиная с:
1.7

ZipFile

public ZipFile(File file, Charset charset) throws IOException
Открывает ZIP-файл для чтения, используя указанный объект File.
Параметры:
file — ZIP-файл, который нужно открыть для чтения
charset — кодировка, используемая для декодирования имени записи ZIP и комментария (игнорируется, если установлен бит языковой кодировки флага общего назначения записи ZIP).
Исключения:
ZipException — если произошла ошибка формата ZIP
IOException — если произошла ошибка ввода-вывода
Начиная с:
1.7

Подробное описание методов

getComment

public String getComment()
Возвращает комментарий ZIP-файла. Если комментарий отсутствует или при декодировании комментария с использованием кодировки, заданной при открытии ZIP-файла, произошла ошибка, возвращается null.
Возвращает:
строку комментария ZIP-файла или null, если комментарий отсутствует
Исключения:
IllegalStateException — если ZIP-файл закрыт
Начиная с:
1.7

getEntry

public ZipEntry getEntry(String name)
Возвращает запись ZIP-файла с указанным именем или null, если она не найдена.
Параметры:
name — имя записи
Возвращает:
запись ZIP-файла или null, если она не найдена
Исключения:
IllegalStateException — если ZIP-файл закрыт

getInputStream

public InputStream getInputStream(ZipEntry entry) throws IOException
Возвращает входной поток для чтения содержимого указанной записи ZIP-файла.

При закрытии этого ZIP-файла также закрываются все входные потоки, возвращённые вызовами данного метода.

Примечание API:
Объект InputStream, возвращаемый этим методом, может оборачивать InflaterInputStream, метод read(byte[], int, int) которого может изменять любой элемент выходного буфера.
Параметры:
entry — запись ZIP-файла
Возвращает:
входной поток для чтения содержимого указанной записи ZIP-файла или null, если запись отсутствует в ZIP-файле.
Исключения:
ZipException — если произошла ошибка формата ZIP
IOException — если произошла ошибка ввода-вывода
IllegalStateException — если ZIP-файл закрыт

getName

public String getName()
Возвращает имя пути к ZIP-файлу.
Возвращает:
имя пути к ZIP-файлу

toString

public String toString()
Возвращает строку, идентифицирующую этот объект ZipFile, для отладки.
Переопределяет:
toString в классе Object
Возвращает:
строку, идентифицирующую этот объект ZipFile, для отладки

entries

public Enumeration<? extends ZipEntry> entries()
Возвращает перечисление записей ZIP-файла.
Возвращает:
перечисление записей ZIP-файла
Исключения:
IllegalStateException — если ZIP-файл закрыт

stream

public Stream<? extends ZipEntry> stream()
Возвращает упорядоченный Stream записей ZIP-файла. Записи появляются в Stream в том же порядке, в котором они расположены в центральном каталоге ZIP-файла.
Возвращает:
упорядоченный Stream записей этого ZIP-файла
Исключения:
IllegalStateException — если ZIP-файл закрыт
Начиная с:
1.8

size

public int size()
Возвращает число записей в ZIP-файле.
Возвращает:
число записей в ZIP-файле
Исключения:
IllegalStateException — если ZIP-файл закрыт

close

public void close() throws IOException
Закрывает ZIP-файл.

При закрытии этого ZIP-файла также закрываются все входные потоки, ранее возвращённые вызовами метода getInputStream.

Определено в:
close в интерфейсе AutoCloseable
Определено в:
close в интерфейсе Closeable
Исключения:
IOException — если произошла ошибка ввода-вывода

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API