Spec-Zone.ru › OpenJDK 24

Класс 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, для отладки.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

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

OPEN_READ

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

OPEN_DELETE

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

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

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 в указанном режиме. Аргумент mode должен быть либо 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 в указанном режиме. Аргумент mode должен быть либо OPEN_READ, либо OPEN_READ | OPEN_DELETE.
Параметры:
file - ZIP-архив для открытия для чтения
mode - режим открытия файла
charset - кодировка, используемая для декодирования имён и комментариев записей ZIP, которые не закодированы с использованием кодировки UTF-8 (указано в общем флаге цели).
Исключения:
ZipException - если произошла ошибка формата ZIP
IOException - если произошла ошибка ввода-вывода
IllegalArgumentException - если аргумент mode некорректен
С:
1.7
END_OF_DOCUMENT_MARKER

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 - кодировка, используемая для декодирования имени и комментария записи (игнорируется, если установлен бит кодировки языка флага общего назначения записи).
Исключения:
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 - если произошла ошибка ввода-вывода

© 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/util/zip/ZipFile.html

Spec-Zone.ru

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