Класс JarOutputStream
- Все реализуемые интерфейсы:
Closeable, Flushable, AutoCloseable
public class JarOutputStream extends ZipOutputStream
JarOutputStream используется для записи содержимого JAR-файла в любой выходной поток. Он расширяет класс java.util.zip.ZipOutputStream, добавляя поддержку записи необязательной записи Manifest. Класс Manifest можно использовать для указания метаинформации о JAR-файле и его записях. Если не указано иное, передача аргумента null конструктору или методу этого класса приведёт к выбрасыванию исключения NullPointerException.
- Начиная с:
- 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). |
Поля, объявленные в классе ZipOutputStream
DEFLATED, STORED | Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
DEFLATED |
Метод сжатия для сжатых записей (DEFLATED). |
static final int |
STORED |
Метод сжатия для несжатых записей (STORED). |
Поля, объявленные в классе DeflaterOutputStream
buf, def | Модификатор и тип | Поле | Описание |
|---|---|---|
protected byte[] |
buf |
Выходной буфер для записи сжатых данных. |
protected Deflater |
def |
Компрессор для этого потока. |
Поля, объявленные в классе FilterOutputStream
out | Модификатор и тип | Поле | Описание |
|---|---|---|
protected OutputStream |
out |
Базовый выходной поток, данные которого фильтруются. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
JarOutputStream |
Создаёт новый JarOutputStream без манифеста. |
JarOutputStream |
Создаёт новый JarOutputStream с указанным Manifest. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
putNextEntry |
Начинает запись новой записи JAR-файла и устанавливает поток в начало данных этой записи. |
Методы, объявленные в классе ZipOutputStream
close, closeEntry, finish, setComment, setLevel, setMethod, write | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
close() |
Закрывает базовый поток и фильтруемый поток после полной записи содержимого выходного ZIP-потока. |
void |
closeEntry() |
Закрывает текущую запись ZIP и подготавливает поток к записи следующей записи. |
void |
finish() |
Завершает запись содержимого выходного ZIP-потока, не закрывая базовый поток. |
void |
setComment |
Задаёт комментарий ZIP-файла. |
void |
setLevel |
Задаёт уровень сжатия для последующих записей, использующих метод DEFLATED. |
void |
setMethod |
Задаёт метод сжатия по умолчанию для последующих записей. |
void |
write |
Записывает массив байтов в данные текущей записи ZIP. |
Методы, объявленные в классе DeflaterOutputStream
deflate, flush, write | Модификатор и тип | Метод | Описание |
|---|---|---|
protected void |
deflate() |
Записывает следующий блок сжатых данных в выходной поток. |
void |
flush() |
Сбрасывает сжатый выходной поток. |
void |
write |
Записывает байт в сжатый выходной поток. |
Методы, объявленные в классе FilterOutputStream
write | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
write |
Записывает b.length байт в этот выходной поток. |
Методы, объявленные в классе OutputStream
nullOutputStream | Модификатор и тип | Метод | Описание |
|---|---|---|
static OutputStream |
nullOutputStream() |
Возвращает новый OutputStream, отбрасывающий все байты. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект некоторому другому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии. Финализация устарела и будет удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Приостанавливает текущий поток до его пробуждения, обычно вследствие вызова notify или interrupt. |
final void |
wait |
Приостанавливает текущий поток до его пробуждения, обычно вследствие вызова notify или interrupt, либо до истечения указанного промежутка реального времени. |
final void |
wait |
Приостанавливает текущий поток до его пробуждения, обычно вследствие вызова notify или interrupt, либо до истечения указанного промежутка реального времени. |
Подробное описание полей
LOCSIG
static final long LOCSIG
- См. также:
EXTSIG
static final long EXTSIG
- См. также:
CENSIG
static final long CENSIG
- См. также:
ENDSIG
static final long ENDSIG
- См. также:
LOCHDR
static final int LOCHDR
- См. также:
EXTHDR
static final int EXTHDR
- См. также:
CENHDR
static final int CENHDR
- См. также:
ENDHDR
static final int ENDHDR
- См. также:
LOCVER
static final int LOCVER
- См. также:
LOCFLG
static final int LOCFLG
- См. также:
LOCHOW
static final int LOCHOW
- См. также:
LOCTIM
static final int LOCTIM
- См. также:
LOCCRC
static final int LOCCRC
- См. также:
LOCSIZ
static final int LOCSIZ
- См. также:
LOCLEN
static final int LOCLEN
- См. также:
LOCNAM
static final int LOCNAM
- См. также:
LOCEXT
static final int LOCEXT
- См. также:
EXTCRC
static final int EXTCRC
- См. также:
EXTSIZ
static final int EXTSIZ
- См. также:
EXTLEN
static final int EXTLEN
- См. также:
CENVEM
static final int CENVEM
- См. также:
CENVER
static final int CENVER
- См. также:
CENFLG
static final int CENFLG
- См. также:
CENHOW
static final int CENHOW
- См. также:
CENTIM
static final int CENTIM
- См. также:
CENCRC
static final int CENCRC
- См. также:
CENSIZ
static final int CENSIZ
- См. также:
CENLEN
static final int CENLEN
- См. также:
CENNAM
static final int CENNAM
- См. также:
CENEXT
static final int CENEXT
- См. также:
CENCOM
static final int CENCOM
- См. также:
CENDSK
static final int CENDSK
- См. также:
CENATT
static final int CENATT
- См. также:
CENATX
static final int CENATX
- См. также:
CENOFF
static final int CENOFF
- См. также:
ENDSUB
static final int ENDSUB
- См. также:
ENDTOT
static final int ENDTOT
- См. также:
ENDSIZ
static final int ENDSIZ
- См. также:
ENDOFF
static final int ENDOFF
- См. также:
ENDCOM
static final int ENDCOM
- См. также:
Подробное описание конструкторов
JarOutputStream
public JarOutputStream(OutputStream out, Manifest man) throws IOException
JarOutputStream с указанным Manifest. Манифест записывается в поток вывода как первая запись.- Параметры:
-
out— фактический поток вывода -
man— необязательныйManifest - Исключения:
-
IOException— если произошла ошибка ввода-вывода
JarOutputStream
public JarOutputStream(OutputStream out) throws IOException
JarOutputStream без манифеста.- Параметры:
-
out— фактический поток вывода - Исключения:
-
IOException— если произошла ошибка ввода-вывода
Подробное описание методов
putNextEntry
public void putNextEntry(ZipEntry ze) throws IOException
Если для записи не был указан метод сжатия, будет использоваться метод сжатия по умолчанию. При записи сжатой записи (DEFLATED), если размер сжатых данных не был задан явно с помощью метода ZipEntry.setCompressedSize(long), размер сжатых данных будет установлен равным фактическому размеру после сжатия.
Если для записи не задано время изменения, будет использоваться текущее время.
- Переопределяет:
-
putNextEntryв классеZipOutputStream - Параметры:
-
ze— запись ZIP/JAR, которую нужно записать - Исключения:
-
ZipException— если произошла ошибка ZIP -
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.