Класс JarInputStream
java.lang.Object
java.io.InputStream
java.io.FilterInputStream
java.util.zip.InflaterInputStream
java.util.zip.ZipInputStream
java.util.jar.JarInputStream
- Все реализуемые интерфейсы:
-
Closeable,AutoCloseable
public class JarInputStream extends ZipInputStream
Класс
JarInputStream используется для чтения содержимого файла JAR из любого потока ввода. Он расширяет класс java.util.zip.ZipInputStream с поддержкой чтения необязательной записи Manifest. Класс Manifest может использоваться для хранения метаинформации о файле JAR и его записях.- С:
- 1.2
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
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). |
Поля, объявленные в классе java.util.zip.InflaterInputStream
buf, inf, len
Поля, объявленные в классе java.io.FilterInputStream
in
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
JarInputStream |
Создаёт новый JarInputStream и считывает необязательный манифест. |
JarInputStream |
Создаёт новый JarInputStream и считывает необязательный манифест. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected ZipEntry |
createZipEntry |
Создаёт новый JarEntry (ZipEntry) для указанного имени записи файла JAR. |
Manifest |
getManifest() |
Возвращает Manifest для этого файла JAR или null, если такового нет. |
ZipEntry |
getNextEntry() |
Считывает следующую запись файла ZIP и устанавливает поток в начало данных записи. |
JarEntry |
getNextJarEntry() |
Считывает следующую запись файла JAR и устанавливает поток в начало данных записи. |
int |
read |
Считывает из текущей записи файла JAR в массив байтов. |
Методы, объявленные в классе java.util.zip.ZipInputStream
available, close, closeEntry, skip
Методы, объявленные в классе java.util.zip.InflaterInputStream
fill, mark, markSupported, read, reset
Методы, объявленные в классе java.io.FilterInputStream
read
Методы, объявленные в классе java.io.InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
Подробное описание полей
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).
- См. также:
Подробное описание конструкторов
JarInputStream
public JarInputStream(InputStream in) throws IOException
Создаёт новый
JarInputStream и считывает необязательный манифест. Если манифест присутствует, также пытается проверить подписи, если JarInputStream подписан.- Параметры:
-
in- фактический поток ввода - Исключения:
-
IOException- если произошла ошибка ввода-вывода
JarInputStream
public JarInputStream(InputStream in, boolean verify) throws IOException
Создаёт новый
JarInputStream и считывает необязательный манифест. Если манифест присутствует и verify true, также пытается проверить подписи, если JarInputStream подписан.- Параметры:
-
in- фактический поток ввода -
verify- указывает, нужно ли проверять JarInputStream, если он подписан. - Исключения:
-
IOException- если произошла ошибка ввода-вывода
Подробное описание методов
getManifest
public Manifest getManifest()
Возвращает
Manifest для данного JAR-файла, или null если его нет.- Возвращает:
- the
Manifestдля данного JAR-файла, илиnullесли его нет.
getNextEntry
public ZipEntry getNextEntry() throws IOException
Считывает следующую запись ZIP-файла и устанавливает поток в начало данных записи. Если проверка включена, любая обнаруженная недействительная подпись при позиционировании потока для следующей записи приведёт к исключению.
- Переопределяет:
-
getNextEntryв классеZipInputStream - Возвращает:
- следующую запись ZIP-файла, или null, если больше записей нет
- Исключения:
-
ZipException- если произошла ошибка в ZIP-файле -
IOException- если произошла ошибка ввода-вывода -
SecurityException- если некоторые из записей JAR-файла имеют неправильную подпись.
getNextJarEntry
public JarEntry getNextJarEntry() throws IOException
Считывает следующую запись JAR-файла и устанавливает поток в начало данных записи. Если проверка включена, любая обнаруженная недействительная подпись при позиционировании потока для следующей записи приведёт к исключению.
- Возвращает:
- следующую запись JAR-файла, или null, если больше записей нет
- Исключения:
-
ZipException- если произошла ошибка в ZIP-файле -
IOException- если произошла ошибка ввода-вывода -
SecurityException- если некоторые из записей JAR-файла имеют неправильную подпись.
read
public int read(byte[] b, int off, int len) throws IOException
Считывает данные из текущей записи JAR-файла в массив байтов. Если
len не равно нулю, метод блокируется, пока не появятся входные данные; в противном случае байты не считываются и возвращается 0. Если проверка включена, любая недействительная подпись в текущей записи будет сообщена в какой-то момент до достижения конца записи.- Переопределяет:
-
readв классеZipInputStream - Параметры:
-
b- буфер, в который считываются данные -
off- начальный смещение в целевом массивеb -
len- максимальное количество считываемых байтов - Возвращает:
- фактическое количество считанных байтов, или -1, если достигнут конец записи
- Исключения:
-
NullPointerException- Еслиbравноnull. -
IndexOutOfBoundsException- Еслиoffотрицательно,lenотрицательно илиlenбольшеb.length - off -
ZipException- если произошла ошибка в ZIP-файле -
IOException- если произошла ошибка ввода-вывода -
SecurityException- если некоторые из записей JAR-файла имеют неправильную подпись. - См. также:
createZipEntry
protected ZipEntry createZipEntry(String name)
Создаёт новую
JarEntry (ZipEntry) для указанного имени записи JAR-файла. Атрибуты манифеста указанного имени записи JAR-файла будут скопированы в новую JarEntry. - Переопределяет:
-
createZipEntryв классеZipInputStream - Параметры:
-
name- имя записи JAR/ZIP-файла - Возвращает:
- объект
JarEntryтолько что созданный
© 1993, 2021, 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/17/docs/api/java.base/java/util/jar/JarInputStream.html