Spec-Zone.ru › OpenJDK 21

Класс JarFile

java.lang.Object
java.util.zip.ZipFile
java.util.jar.JarFile
Все реализованные интерфейсы:
Closeable, AutoCloseable
public class JarFile extends ZipFile
Класс JarFile используется для чтения содержимого файла jar из любого файла, который может быть открыт с помощью java.io.RandomAccessFile. Он расширяет класс java.util.zip.ZipFile с поддержкой чтения необязательной записи Manifest, и поддержкой обработки файлов jar с несколькими версиями. Объект Manifest может использоваться для указания метаданных о файле jar и его записях.

Файл jar с несколькими версиями — это файл jar, который содержит манифест с главным атрибутом, названным «Многоверсионный», набор «базовых» записей, некоторые из которых являются общедоступными классами с общедоступными или защищёнными методами, составляющими общедоступный интерфейс файла jar, и набор «версионированных» записей, содержащихся в подкаталогах каталога «META-INF/versions». Версионированные записи разделяются по основной версии платформы Java. Версионированная запись с версией n, 8 < n, в каталоге «META-INF/versions/{n}» переопределяет базовые записи, а также любые записи с номером версии i, где 8 < i < n.

По умолчанию, для файла jar с несколькими версиями JarFile настроен так, чтобы обрабатывать файл jar с несколькими версиями так, как будто это обычный (неверсионированный) файл jar, и в связи с этим имя записи связано с, как максимум, одной базовой записью. JarFile может быть настроен на обработку файла jar с несколькими версиями, создав объект JarFile с помощью конструктора JarFile(File, boolean, int, Runtime.Version). Объект Runtime.Version задаёт максимальную версию, используемую при поиске версионированных записей. При таком конфигурировании имя записи может соответствовать, как максимум, одной базовой записи и нулю или более версионированных записей. Требуется поиск для сопоставления имени записи с последней версионированной записью, чья версия меньше или равна максимальной версии (см. getEntry(String)).

Загрузчики классов, которые используют JarFile для загрузки классов из содержимого JarFile записей, должны создавать объект JarFile, вызывая конструктор JarFile(File, boolean, int, Runtime.Version) с значением Runtime.version(), присвоенным последнему аргументу. Это гарантирует, что классы, совместимые с основной версией работающей JVM, загружаются из файлов jar с несколькими версиями.

Если флаг verify включен при открытии подписанного файла JAR, содержимое записи JAR проверяется по подписи, вложенной в манифест, связанный с её path name. Для файла JAR с несколькими версиями содержимое версии записи проверяется по её собственной подписи, и JarEntry.getCodeSigners() возвращает её собственных подписывающих лиц. Обратите внимание, что процесс проверки не включает проверку сертификата подписывающего лица. Вызывающая сторона должна проверить результат JarEntry.getCodeSigners(), чтобы дополнительно определить, можно ли доверять подписи.

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

Замечание по реализации:
Если API нельзя использовать для настройки JarFile (например, для переопределения конфигурации скомпилированного приложения или библиотеки), доступны две свойства System.
  • jdk.util.jar.version можно присвоить значение, представляющее String неотрицательное целое число <= Runtime.version().feature(). Это значение используется для установки эффективной версии выполнения, отличной от значения по умолчанию, полученного при оценке Runtime.version().feature(). Эффективная версия выполнения — это версия, которую использует конструктор JarFile(File, boolean, int, Runtime.Version), когда значение последнего аргумента равно JarFile.runtimeVersion().
  • jdk.util.jar.enableMultiRelease можно присвоить одно из трёх значений String: true, false или force. Значение true (значение по умолчанию) включает обработку файлов jar с несколькими версиями. Значение false отключает обработку jar-файлов с несколькими версиями, игнорируя атрибут "Multi-Release" в манифесте и каталоги с версиями в файле jar, если они есть. Кроме того, метод isMultiRelease() возвращает false. Значение force вызывает инициализацию JarFile с версионированием во время выполнения после создания объекта. Это эквивалентно следующему коду: (new JarFile(File, boolean, int, JarFile.runtimeVersion()).
С момента:
1.2
См. также:
  • Manifest
  • ZipFile
  • JarEntry

Краткое описание полей

Модификатор и тип Поле Описание
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 String MANIFEST_NAME
Имя файла манифеста JAR.

Поля, объявленные в классе java.util.zip.ZipFile

OPEN_DELETE, OPEN_READ

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

Конструктор Описание
JarFile(File file)
Создаёт новый JarFile для чтения из указанного объекта File.
JarFile(File file, boolean verify)
Создаёт новый JarFile для чтения из указанного объекта File.
JarFile(File file, boolean verify, int mode)
Создаёт новый JarFile для чтения из указанного объекта File в указанном режиме.
JarFile(File file, boolean verify, int mode, Runtime.Version version)
Создаёт новый JarFile для чтения из указанного объекта File в указанном режиме.
JarFile(String name)
Создаёт новый JarFile для чтения из указанного файла name.
JarFile(String name, boolean verify)
Создаёт новый JarFile для чтения из указанного файла name.

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

Модификатор и тип Метод Описание
static Runtime.Version baseVersion()
Возвращает версию, представляющую невзрачную конфигурацию файла JAR с несколькими выпусками.
Enumeration<JarEntry> entries()
Возвращает перечисление записей файла JAR.
ZipEntry getEntry(String name)
Возвращает ZipEntry для заданного имени базовой записи или null, если не найдено.
InputStream getInputStream(ZipEntry ze)
Возвращает поток ввода для чтения содержимого указанной записи файла ZIP.
JarEntry getJarEntry(String name)
Возвращает JarEntry для заданного имени базовой записи или null, если не найдено.
Manifest getManifest()
Возвращает манифест файла JAR или null, если он отсутствует.
final Runtime.Version getVersion()
Возвращает максимальную версию, используемую при поиске версионированных записей.
final boolean isMultiRelease()
Указывает, является ли данный файл JAR файлом JAR с несколькими выпусками.
static Runtime.Version runtimeVersion()
Возвращает версию, представляющую эффективную версионированную конфигурацию файла JAR с несколькими выпусками.
Stream<JarEntry> stream()
Возвращает упорядоченный Stream по записям файла JAR.
Stream<JarEntry> versionedStream()
Возвращает Stream версионированных записей файла JAR.

Методы, объявленные в классе java.util.zip.ZipFile

close, getComment, getName, size

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

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

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

MANIFEST_NAME

public static final String MANIFEST_NAME
Имя файла манифеста JAR.
См. также:
  • Значения постоянных полей

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

Сдвиг смещения поля нескомпрессированного размера заголовка центрального каталога (CEN)

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

Сдвиг смещения поля длины имени файла заголовка центрального каталога (CEN)

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

Сдвиг смещения поля длины дополнительного поля заголовка центрального каталога (CEN)

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

Сдвиг смещения поля длины комментария заголовка центрального каталога (CEN)

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

Сдвиг смещения поля номера диска начала заголовка центрального каталога (CEN)

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

Сдвиг смещения поля атрибутов внутреннего файла заголовка центрального каталога (CEN)

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

Сдвиг смещения поля атрибутов внешнего файла заголовка центрального каталога (CEN)

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

Смещение заголовка CEN

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

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

JarFile

public JarFile(String name) throws IOException
Создаёт новый JarFile для чтения из указанного файла name. JarFile будет проверена, если она подписана.
Параметры:
name - имя jar-файла, который нужно открыть для чтения
Исключения:
IOException - если произошла ошибка ввода-вывода
SecurityException - если доступ к файлу запрещён SecurityManager

JarFile

public JarFile(String name, boolean verify) throws IOException
Создаёт новый JarFile для чтения из указанного файла name.
Параметры:
name - имя jar-файла, который нужно открыть для чтения
verify - нужно ли проверять jar-файл на подпись.
Исключения:
IOException - если произошла ошибка ввода-вывода
SecurityException - если доступ к файлу запрещён SecurityManager

JarFile

public JarFile(File file) throws IOException
Создаёт новый JarFile для чтения из указанного объекта File. JarFile будет проверена, если она подписана.
Параметры:
file - jar-файл, который нужно открыть для чтения
Исключения:
IOException - если произошла ошибка ввода-вывода
SecurityException - если доступ к файлу запрещён SecurityManager

JarFile

public JarFile(File file, boolean verify) throws IOException
Создаёт новый JarFile для чтения из указанного объекта File.
Параметры:
file - jar-файл, который нужно открыть для чтения
verify - нужно ли проверять jar-файл на подпись.
Исключения:
IOException - если произошла ошибка ввода-вывода
SecurityException - если доступ к файлу запрещён SecurityManager.

JarFile

public JarFile(File file, boolean verify, int mode) throws IOException
Создаёт новый JarFile для чтения из указанного объекта File в указанном режиме. Аргумент режима должен быть либо OPEN_READ, либо OPEN_READ | OPEN_DELETE.
Parameters:
file - jar-файл, который нужно открыть для чтения
verify - нужно ли проверять jar-файл на подпись, если он подписан
mode - режим открытия файла
Throws:
IOException - если произошла ошибка ввода-вывода
IllegalArgumentException - если аргумент mode некорректен
SecurityException - если доступ к файлу запрещён SecurityManager
Since:
1.3

JarFile

public JarFile(File file, boolean verify, int mode, Runtime.Version version) throws IOException
Создаёт новый JarFile для чтения из указанного объекта File в указанном режиме. Аргумент режима должен быть либо OPEN_READ, либо OPEN_READ | OPEN_DELETE. Аргумент version, после преобразования в каноническую форму, используется для настройки JarFile для обработки jar-файлов с несколькими версиями.

Каноническая форма, полученная из параметра version, имеет вид Runtime.Version.parse(Integer.toString(n)), где n равно Math.max(version.feature(), JarFile.baseVersion().feature()).

Parameters:
file - jar-файл, который нужно открыть для чтения
verify - нужно ли проверять jar-файл на подпись, если он подписан
mode - режим открытия файла
version - указывает версию релиза для jar-файла с несколькими версиями
Throws:
IOException - если произошла ошибка ввода-вывода
IllegalArgumentException - если аргумент mode некорректен
SecurityException - если доступ к файлу запрещён SecurityManager
NullPointerException - если version равно null
Since:
9

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

baseVersion

public static Runtime.Version baseVersion()
Возвращает версию, представляющую неверсионированную конфигурацию jar-файла с несколькими версиями.
Returns:
версия, представляющая неверсионированную конфигурацию
Since:
9

runtimeVersion

public static Runtime.Version runtimeVersion()
Возвращает версию, представляющую эффективную конфигурацию runtime версии многовыпускного JAR-файла.

По умолчанию номер версии функциональности возвращаемого Version будет равен номеру версии функциональности Runtime.version(). Однако, если свойство jdk.util.jar.version установлено, возвращаемое значение Version извлекается из этого свойства, и номера версий функциональности могут отличаться.

Возвращает:
версию, представляющую конфигурацию runtime версии
С тех пор:
9

getVersion

public final Runtime.Version getVersion()
Возвращает максимальную версию, используемую при поиске версионированных записей.

Если этот JarFile не является многовыпускным JAR-файлом или не настроен на обработку как таковой, то возвращаемая версия будет такой же, как возвращаемая из baseVersion().

Возвращает:
максимальную версию
С тех пор:
9

isMultiRelease

public final boolean isMultiRelease()
Указывает, является ли этот JAR-файл многовыпускным JAR-файлом.
Возвращает:
true, если этот JarFile является многовыпускным JAR-файлом
С тех пор:
9

getManifest

public Manifest getManifest() throws IOException
Возвращает манифест JAR-файла или null если он отсутствует.
Возвращает:
манифест JAR-файла или null если он отсутствует
Издаёт:
IllegalStateException - может быть вызвано, если JAR-файл закрыт
IOException - если произошла ошибка ввода-вывода

getJarEntry

public JarEntry getJarEntry(String name)
Возвращает JarEntry для данного имени базовой записи или null в случае отсутствия.

Если этот JarFile представляет собой многоверсионный JAR-файл и настроен на обработку как таковой, то поиск выполняется для нахождения и возвращения JarEntry, представляющего собой последнюю версию записи, связанную с данным именем записи. Возвращаемая JarEntry — это версия записи, соответствующая данному имени базовой записи, с префиксом строки "META-INF/versions/{n}/", для наибольшего значения n , для которого существует запись. Если такая версия записи не существует, то возвращается JarEntry для базовой записи, в противном случае возвращается null, если записи не найдены. Начальное значение версии n — это максимальная версия, возвращаемая методом getVersion().

Требования к реализации:
Данная реализация вызывает getEntry(String).
Параметры:
name - имя записи JAR-файла
Возвращает:
JarEntry для данного имени записи, или имя версии записи, или null в случае отсутствия
Исключения:
IllegalStateException - может быть выброшено, если JAR-файл был закрыт
См. также:
  • JarEntry

getEntry

public ZipEntry getEntry(String name)
Возвращает ZipEntry для заданного имени базовой записи или null, если не найдено.

Если этот JarFile представляет собой архив JAR с несколькими версиями и настроен для обработки как таковой, то выполняется поиск и возвращается ZipEntry, являющийся записью с последней версией, связанной с данным именем записи. Возвращаемая ZipEntry — это запись с версией, соответствующая заданному имени базовой записи, префикс которой — строка "META-INF/versions/{n}/", для наибольшего значения n, для которого существует запись. Если такая запись с версией не существует, возвращается ZipEntry для базовой записи, в противном случае возвращается null, если записи не найдены. Начальное значение для версии n — максимальная версия, возвращаемая методом getVersion().

Overrides:
getEntry в классе ZipFile
Implementation Requirements:
Эта реализация может вернуть запись с версией для запрошенного имени, даже если соответствующая базовая запись отсутствует. Это может произойти, если есть приватная или пакетная запись с версией, которая совпадает. Если подкласс переопределяет этот метод, убедитесь, что переопределенный метод вызывает super.getEntry(name) для получения всех записей с версией.
Parameters:
name - имя записи в архиве JAR
Returns:
ZipEntry для данного имени записи или имя записи с версией или null, если не найдено
Throws:
IllegalStateException - может быть выброшено, если архив JAR был закрыт
See Also:
  • ZipEntry

entries

public Enumeration<JarEntry> entries()
Возвращает перечисление записей в архиве JAR.
Overrides:
entries в классе ZipFile
Returns:
перечисление записей в архиве JAR
Throws:
IllegalStateException - может быть выброшено, если архив JAR был закрыт

stream

public Stream<JarEntry> stream()
Возвращает упорядоченный Stream по записям файла jar. Записи появляются в Stream в том порядке, в котором они находятся в центральном каталоге файла jar.
Overrides:
stream в классе ZipFile
Возвращает:
упорядоченный Stream записей в этом файле jar
Использует:
IllegalStateException - если файл jar закрыт
С:
1.8

versionedStream

public Stream<JarEntry> versionedStream()
Возвращает Stream версионированных записей файла jar.

Если этот JarFile является файлом jar с множественными версиями и настроен для обработки как таковой, то запись в потоке — это последняя версионированная запись, связанная с соответствующим базовым именем записи. Максимальная версия последней версионированной записи — это версия, возвращаемая getVersion(). Возвращаемый поток может содержать запись, которая существует только как версионированная запись. Если файл jar не является файлом jar с множественными версиями или JarFile не настроен для обработки файла jar с множественными версиями, этот метод возвращает тот же поток, что и stream().

Возвращает:
поток версионированных записей
С:
10

getInputStream

public InputStream getInputStream(ZipEntry ze) throws IOException
Возвращает поток ввода для чтения содержимого указанной записи файла zip.
Overrides:
getInputStream в классе ZipFile
Примечание API:
Возвращаемый InputStream этим методом может оборачивать InflaterInputStream, метод read(byte[], int, int) которого может изменить любой элемент выходного буфера.
Параметры:
ze - запись файла zip
Возвращает:
поток ввода для чтения содержимого указанной записи файла zip или null, если запись файла zip не существует в файле jar
Использует:
ZipException - если произошла ошибка формата файла zip
IOException - если произошла ошибка ввода-вывода
SecurityException - если какая-либо из записей файла jar неправильно подписана.
IllegalStateException - может быть выброшено, если файл jar закрыт

© 1993, 2023, 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/21/docs/api/java.base/java/util/jar/JarFile.html

Spec-Zone.ru

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