Класс 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. Подклассы отвечают за очистку ресурсов, полученных подклассом. Подклассы, переопределяющие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 file,
int mode,
Charset charset) | Открывает новый |
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() | Возвращает упорядоченный |
Методы, объявленные в классе 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 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