Класс ZipFile

Все реализованные интерфейсы:
Closeable, AutoCloseable
Прямые известные подклассы:
JarFile
public class ZipFile
extends Object
implements Closeable

Этот класс используется для чтения записей из файла zip.

Если не указано иное, передача аргумента null в конструктор или метод в этом классе вызовет исключение NullPointerException.

Примечание API:
Для освобождения ресурсов, используемых этим ZipFile, необходимо явно вызвать метод close() или использовать try-with-resources. Подклассы отвечают за очистку ресурсов, полученных подклассом. Подклассы, переопределяющие finalize() для выполнения очистки, должны быть изменены на использование альтернативных механизмов очистки, таких как Cleaner, и удалить переопределённый метод finalize.
Требования к реализации:
Если этот ZipFile был унаследован и метод close был переопределён, метод close будет вызван при финализации, когда ZipFile недоступен. Однако подклассы не должны полагаться на эту конкретную реализацию; финализация не надёжна, и метод finalize устарел и будет удалён.
С:
1.1

Поля

Модификатор и тип Поле Описание
static int CENATT
static int CENATX
static int CENCOM
static int CENCRC
static int CENDSK
static int CENEXT
static int CENFLG
static int CENHDR
static int CENHOW
static int CENLEN
static int CENNAM
static int CENOFF
static long CENSIG
static int CENSIZ
static int CENTIM
static int CENVEM
static int CENVER
static int ENDCOM
static int ENDHDR
static int ENDOFF
static long ENDSIG
static int ENDSIZ
static int ENDSUB
static int ENDTOT
static int EXTCRC
static int EXTHDR
static int EXTLEN
static long EXTSIG
static int EXTSIZ
static int LOCCRC
static int LOCEXT
static int LOCFLG
static int LOCHDR
static int LOCHOW
static int LOCLEN
static int LOCNAM
static long LOCSIG
static int LOCSIZ
static int LOCTIM
static int LOCVER
static int OPEN_DELETE

Флаг режима для открытия файла zip и отметки его для удаления.

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

protected void finalize()

Устарел, для удаления: Элемент API может быть удалён в будущей версии.

Метод finalize устарел и будет удалён.

String getComment()

Возвращает комментарий к файлу zip, или null, если его нет.

ZipEntry getEntry​(String name)

Возвращает запись файла zip для указанного имени, или null, если не найдена.

InputStream getInputStream​(ZipEntry entry)

Возвращает поток ввода для чтения содержимого указанной записи файла zip.

String getName()

Возвращает имя пути к файлу ZIP.

int size()

Возвращает количество записей в файле ZIP.

Stream<? extends ZipEntry> stream()

Возвращает упорядоченный Stream по записям файла ZIP.

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

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

Поля

OPEN_READ

public static final int OPEN_READ

Флаг режима открытия файла zip для чтения.

См. также:
Значения константных полей

OPEN_DELETE

public static final int OPEN_DELETE

Флаг режима открытия файла zip с отметкой для удаления. Файл будет удалён в какой-то момент между открытием и закрытием, но его содержимое останется доступным через объект ZipFile до вызова метода закрытия или выхода виртуальной машины.

См. также:
Значения константных полей

LOCSIG

public static final long LOCSIG
См. также:
Значения константных полей

EXTSIG

public static final long EXTSIG
См. также:
Значения константных полей

CENSIG

public static final long CENSIG
См. также:
Значения константных полей

ENDSIG

public static final long ENDSIG
См. также:
Значения константных полей

LOCHDR

public static final int LOCHDR
См. также:
Значения константных полей

EXTHDR

public static final int EXTHDR
См. также:
Значения константных полей

CENHDR

public static final int CENHDR
См. также:
Значения константных полей

ENDHDR

public static final int ENDHDR
См. также:
Значения константных полей

LOCVER

public static final int LOCVER
См. также:
Значения константных полей

LOCFLG

public static final int LOCFLG
См. также:
Значения константных полей

LOCHOW

public static final int LOCHOW
См. также:
Значения константных полей

LOCTIM

public static final int LOCTIM
См. также:
Значения константных полей

LOCCRC

public static final int LOCCRC
См. также:
Значения константных полей

LOCSIZ

public static final int LOCSIZ
См. также:
Значения константных полей

LOCLEN

public static final int LOCLEN
См. также:
Значения константных полей

LOCNAM

public static final int LOCNAM
См. также:
Значения константных полей

LOCEXT

public static final int LOCEXT
См. также:
Значения константных полей

EXTCRC

public static final int EXTCRC
См. также:
Значения константных полей

EXTSIZ

public static final int EXTSIZ
См. также:
Значения константных полей

EXTLEN

public static final int EXTLEN
См. также:
Значения константных полей

CENVEM

public static final int CENVEM
См. также:
Значения константных полей

CENVER

public static final int CENVER
См. также:
Значения константных полей

CENFLG

public static final int CENFLG
См. также:
Значения константных полей

CENHOW

public static final int CENHOW
См. также:
Значения константных полей

CENTIM

public static final int CENTIM
См. также:
Значения константных полей

CENCRC

public static final int CENCRC
См. также:
Значения константных полей

CENSIZ

public static final int CENSIZ
См. также:
Значения константных полей

CENLEN

public static final int CENLEN
См. также:
Значения константных полей

CENNAM

public static final int CENNAM
См. также:
Значения константных полей

CENEXT

public static final int CENEXT
См. также:
Значения константных полей

CENCOM

public static final int CENCOM
См. также:
Значения константных полей

CENDSK

public static final int CENDSK
См. также:
Значения константных полей

CENATT

public static final int CENATT
См. также:
Значения константных полей

CENATX

public static final int CENATX
См. также:
Значения константных полей

CENOFF

public static final int CENOFF
См. также:
Значения константных полей

ENDSUB

public static final int ENDSUB
См. также:
Значения константных полей

ENDTOT

public static final int ENDTOT
См. также:
Значения константных полей

ENDSIZ

public static final int ENDSIZ
См. также:
Значения константных полей

ENDOFF

public static final int ENDOFF
См. также:
Значения константных полей

ENDCOM

public static final int ENDCOM
См. также:
Значения константных полей

Конструкторы

ZipFile

public ZipFile(String name)
        throws IOException

Открывает zip-архив для чтения.

Сначала, если существует менеджер безопасности, вызывается его метод checkRead с аргументом name для проверки разрешения на чтение.

Для декодирования имён и комментариев записей используется кодировка UTF-8 charset.

Параметры:
name - имя zip-архива
Исключения:
ZipException - если произошла ошибка в формате ZIP
IOException - если произошла ошибка ввода-вывода
SecurityException - если менеджер безопасности существует и его метод checkRead не разрешает чтение файла.
См. также:
SecurityManager.checkRead(java.lang.String)

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
См. также:
SecurityManager.checkRead(java.lang.String)

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.

Сначала, если существует менеджер безопасности, вызывается его метод checkRead с аргументом name для проверки разрешения на чтение.

Параметры:
file - zip-архив, открываемый для чтения
mode - режим открытия файла
charset - кодировка для декодирования имён и комментариев записей ZIP, которые не закодированы с помощью UTF-8 (указано флагом общего назначения записи).
Исключения:
ZipException - если произошла ошибка в формате ZIP
IOException - если произошла ошибка ввода-вывода
SecurityException - если менеджер безопасности существует и его метод checkRead не разрешает чтение файла, или его метод checkDelete не разрешает удаление файла, когда установлен флаг OPEN_DELETE.
IllegalArgumentException - если аргумент mode некорректен
С тех пор:
1.7
См. также:
SecurityManager.checkRead(java.lang.String)

ZipFile

public ZipFile(String name,
               Charset charset)
        throws IOException

Открывает zip-архив для чтения.

Сначала, если существует менеджер безопасности, вызывается его метод checkRead с аргументом name для проверки разрешения на чтение.

Параметры:
name - имя zip-архива
charset - кодировка для декодирования имён и комментариев записей ZIP, которые не закодированы с помощью UTF-8 (указано флагом общего назначения записи).
Исключения:
ZipException - если произошла ошибка в формате ZIP
IOException - если произошла ошибка ввода-вывода
SecurityException - если менеджер безопасности существует и его метод checkRead не разрешает чтение файла
С тех пор:
1.7
См. также:
SecurityManager.checkRead(java.lang.String)

ZipFile

public ZipFile(File file,
               Charset charset)
        throws IOException

Открывает zip-архив для чтения, используя указанный объект File.

Параметры:
file - zip-архив, открываемый для чтения
charset - Кодировка для декодирования имён и комментариев записей (игнорируется, если бит кодировки языка в флагах общего назначения записи установлен).
Исключения:
ZipException - если произошла ошибка в формате ZIP
IOException - если произошла ошибка ввода-вывода
С тех пор:
1.7

Методы

getComment

public String getComment()

Возвращает комментарий к 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-файла также закроет все потоки, возвращённые вызовами этого метода.

Параметры:
entry - запись zip-архива
Возвращает:
поток для чтения содержимого указанной записи zip-архива.
Исключения:
ZipException - если произошла ошибка в формате ZIP
IOException - если произошла ошибка ввода-вывода
IllegalStateException - если zip-архив был закрыт

getName

public String getName()

Возвращает имя пути к zip-архиву.

Возвращает:
имя пути к zip-архиву

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 - если произошла ошибка ввода-вывода

finalize

@Deprecated(since="9",
            forRemoval=true)
protected void finalize()
                 throws IOException
Устарело, для удаления: Этот элемент API может быть удалён в будущей версии.
Метод finalize устарел и будет удалён. Он реализован как no-op. Подклассы, переопределяющие finalize для выполнения очистки, должны быть изменены на использование альтернативных механизмов очистки и удаления переопределённого метода finalize. Рекомендуемая очистка для объекта ZipFile - явное вызов метода close при отсутствии использования, или использование try-with-resources. Если метод close не вызывается явно, ресурсы, удерживаемые этим объектом, будут освобождены, когда экземпляр станет недоступным.

Обеспечивает освобождение системных ресурсов, удерживаемых объектом ZipFile, когда на него больше нет ссылок.

Переопределяет:
finalize в классе Object
Исключения:
IOException - если произошла ошибка ввода-вывода
См. также:
WeakReference, PhantomReference

© 1993, 2020, 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/11/docs/api/java.base/java/util/zip/ZipFile.html

Spec-Zone .ru
спецификации, руководства, описания, API