Spec-Zone.ru › OpenJDK 24

Класс 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. Поддерживает как сжатые, так и несжатые записи.

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

С момента:
1.1

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

Modifier and Type Field Description
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.

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

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

CENHOW

static final int CENHOW
Смещение поля метода сжатия заголовка центрального каталога (CEN).
См. также:
  • Constant Field Values

CENTIM

static final int CENTIM
Смещение поля времени изменения заголовка центрального каталога (CEN).
См. также:
  • Constant Field Values

CENCRC

static final int CENCRC
Смещение поля значения uncompressed file crc-32 заголовка центрального каталога (CEN).
См. также:
  • Constant Field Values

CENSIZ

static final int CENSIZ
Смещение поля сжатого размера заголовка центрального каталога (CEN).
См. также:
  • Constant Field Values

CENLEN

static final int CENLEN
Смещение поля несжатого размера заголовка центрального каталога (CEN).
См. также:
  • Constant Field Values

CENNAM

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

CENEXT

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

CENCOM

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

CENDSK

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

CENATT

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

CENATX

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

CENOFF

static final int CENOFF
Смещение поля смещения заголовка LOC заголовка центрального каталога (CEN).
См. также:
  • Constant Field Values

ENDSUB

static final int ENDSUB
Смещение поля количества записей на этом диске заголовка конца центрального каталога (END).
См. также:
  • Constant Field Values

ENDTOT

static final int ENDTOT
Смещение поля общего количества записей заголовка конца центрального каталога (END).
См. также:
  • Constant Field Values

ENDSIZ

static final int ENDSIZ
Смещение поля размера центрального каталога в байтах заголовка конца центрального каталога (END).
См. также:
  • Constant Field Values

ENDOFF

static final int ENDOFF
Смещение поля смещения для первого заголовка CEN заголовка конца центрального каталога (END).
См. также:
  • Constant Field Values

ENDCOM

static final int ENDCOM
Смещение поля длины комментария файла ZIP заголовка конца центрального каталога (END).
См. также:
  • Constant Field Values

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

ZipOutputStream

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

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

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

ZipOutputStream

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

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

setComment

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

setMethod

public void setMethod(int method)
Устанавливает метод сжатия по умолчанию для последующих записей. Этот параметр по умолчанию будет использоваться всякий раз, когда метод сжатия не указан для отдельной записи файла ZIP, и изначально устанавливается в 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 без закрытия базового потока. Используйте этот метод при применении нескольких фильтров последовательно к одному и тому же потоку вывода.

ZipException будет брошен, если совокупная длина, после кодирования, имени записи, данных дополнительного поля, комментария к записи и размера заголовка CEN Header, превышает 65 535 байтов.

Переопределяет:
finish в классе DeflaterOutputStream
Исключение:
ZipException - если произошла ошибка файла ZIP
IOException - если произошла ошибка исключения ввода-вывода

close

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

© 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/util/zip/ZipOutputStream.html

Spec-Zone.ru

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