Spec-Zone.ru › OpenJDK 21

Класс ZipOutputStream

java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
java.util.zip.DeflaterOutputStream
java.util.zip.ZipOutputStream
Все реализованные интерфейсы:
Closeable, Flushable, AutoCloseable
Непосредственные известные подклассы:
JarOutputStream
public class ZipOutputStream extends DeflaterOutputStream
Этот класс реализует фильтр потока вывода для записи файлов в формате ZIP-архива. Поддерживает как сжатые, так и несжатые записи.
С тех пор:
1.1

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

Модификатор и тип Поле Описание
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 DEFLATED
Метод сжатия для сжатых (DEFLATED) записей.
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 int STORED
Метод сжатия для нескомпрессированных (STORED) записей.

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

buf, def

Поля, объявленные в классе java.io.FilterOutputStream

out

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

Конструктор Описание
ZipOutputStream(OutputStream out)
Создаёт новый поток вывода ZIP.
ZipOutputStream(OutputStream out, Charset charset)
Создаёт новый поток вывода ZIP.

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

Модификатор и тип Метод Описание
void close()
Закрывает поток вывода ZIP, а также фильтруемый поток.
void closeEntry()
Закрывает текущую запись ZIP и устанавливает поток для записи следующей записи.
void finish()
Завершает запись содержимого потока вывода ZIP без закрытия базового потока.
void putNextEntry(ZipEntry e)
Начинает запись новой записи файла ZIP и устанавливает поток в начало данных записи.
void setComment(String comment)
Устанавливает комментарий к файлу ZIP.
void setLevel(int level)
Устанавливает уровень сжатия для последующих записей, которые сжимаются DEFLATED.
void setMethod(int method)
Устанавливает метод сжатия по умолчанию для последующих записей.
void write(byte[] b, int off, int len)
Записывает массив байтов в текущие данные записи ZIP.

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

deflate, flush, write

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

write

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

nullOutputStream

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

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

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

STORED

public static final int STORED
Метод сжатия для нескомпрессированных (STORED) записей.
См. также:
  • Значения константных полей

DEFLATED

public static final int DEFLATED
Метод сжатия для сжатых (DEFLATED) записей.
См. также:
  • Значения константных полей

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

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

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

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

ZipOutputStream

public ZipOutputStream(OutputStream out)
Создает новый поток вывода ZIP.

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

Параметры:
out - фактический поток вывода

ZipOutputStream

public ZipOutputStream(OutputStream out, Charset charset)
Создает новый поток вывода ZIP.
Параметры:
out - фактический поток вывода
charset - кодировка для кодирования имён и комментариев к записям
С:
1.7

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

setComment

public void setComment(String comment)
Устанавливает комментарий к файлу ZIP.
Параметры:
comment - строка комментария
Исключения:
IllegalArgumentException - если длина указанного комментария к файлу ZIP превышает 0xFFFF байт

setMethod

public void setMethod(int method)
Устанавливает метод сжатия по умолчанию для последующих записей. По умолчанию установлен метод DEFLATED.
Параметры:
method - метод сжатия по умолчанию
Исключения:
IllegalArgumentException - если указанный метод сжатия некорректен

setLevel

public void setLevel(int level)
Устанавливает уровень сжатия для последующих записей, сжатых методом DEFLATED. Значение по умолчанию — DEFAULT_COMPRESSION.
Параметры:
level - уровень сжатия (0-9)
Исключения:
IllegalArgumentException - если уровень сжатия некорректен

putNextEntry

public void putNextEntry(ZipEntry e) throws IOException
Начинает запись новой записи файла ZIP и устанавливает поток на начало данных записи. Закрывает текущую запись, если она активна.

Будет использован метод сжатия по умолчанию, если для записи не был указан метод сжатия. При записи сжатой (DEFLATED) записи, и если сжатый размер не был явно задан методом ZipEntry.setCompressedSize(long), то сжатый размер будет установлен в фактический сжатый размер после разархивации.

Будет использовано текущее время, если для записи не установлено время изменения.

Примечание API:
При записи записи каталога следует использовать метод сжатия STORED и установить значения размера и CRC-32 в 0:
     ZipEntry e = new ZipEntry(entryName);
     if (e.isDirectory()) {
         e.setMethod(ZipEntry.STORED);
         e.setSize(0);
         e.setCrc(0);
     }
     stream.putNextEntry(e);
Это обеспечивает оптимальную производительность при обработке записей каталогов.
Параметры:
e - запись файла ZIP для записи
Исключения:
ZipException - если произошла ошибка формата ZIP
IOException - если произошла ошибка ввода-вывода

closeEntry

public void closeEntry() throws IOException
Закрывает текущую запись файла ZIP и устанавливает поток для записи следующей записи.
Исключения:
ZipException - если произошла ошибка формата ZIP
IOException - если произошла ошибка ввода-вывода

write

public void write(byte[] b, int off, int len) throws IOException
Записывает массив байтов в текущие данные записи файла ZIP. Этот метод будет блокироваться до тех пор, пока все байты не будут записаны.
Переопределяет:
write в классе DeflaterOutputStream
Параметры:
b - данные для записи
off - начальное смещение в данных
len - количество записываемых байтов
Исключения:
ZipException - если произошла ошибка в файле ZIP
IOException - если произошла ошибка ввода-вывода
См. также:
  • FilterOutputStream.write(int)

finish

public void finish() throws IOException
Завершает запись содержимого потока вывода ZIP без закрытия базового потока. Используйте этот метод при применении нескольких фильтров последовательно к одному и тому же потоку вывода.
Переопределяет:
finish в классе DeflaterOutputStream
Исключения:
ZipException - если произошла ошибка в файле ZIP
IOException - если произошла исключительная ситуация ввода-вывода

Закрыть

public void close() throws IOException
Закрывает поток вывода ZIP, а также фильтруемый поток.
Определено:
close в интерфейсе AutoCloseable
Определено:
close в интерфейсе Closeable
Переопределяет:
close в классе DeflaterOutputStream
Выбрасывает:
ZipException - если произошла ошибка ZIP-файла
IOException - если произошла ошибка ввода/вывода
См. также:
  • FilterOutputStream.flush()
  • FilterOutputStream.out

© 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/zip/ZipOutputStream.html

Spec-Zone.ru

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