Класс ZipOutputStream
- Все реализованные интерфейсы:
-
Closeable,Flushable,AutoCloseable
- Прямые известные подклассы:
JarOutputStream
public class ZipOutputStream extends DeflaterOutputStream
Если не указано иное, передача 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 |
Создает новый поток вывода ZIP. |
ZipOutputStream |
Создает новый поток вывода ZIP. |
Краткое описание методов
| Modifier and Type | Метод | Описание |
|---|---|---|
void |
close() |
Закрывает базовый поток и поток, который фильтруется, после того, как содержимое потока вывода ZIP полностью записано. |
void |
closeEntry() |
Закрывает текущую запись ZIP и позиционирует поток для записи следующей записи. |
void |
finish() |
Завершает запись содержимого потока вывода ZIP, не закрывая базовый поток. |
void |
putNextEntry |
Начинает запись новой записи файла ZIP и позиционирует поток в начало данных записи. |
void |
setComment |
Устанавливает комментарий к файлу ZIP. |
void |
setLevel |
Устанавливает уровень сжатия для последующих записей, которые сжимаются методом DEFLATED. |
void |
setMethod |
Устанавливает метод сжатия по умолчанию для последующих записей. |
void |
write |
Записывает массив байтов в текущие данные записи ZIP. |
Методы, объявленные в классе java.util.zip.DeflaterOutputStream
deflate, flush, write
Методы, объявленные в классе java.io.FilterOutputStream
write
Методы, объявленные в классе java.io.OutputStream
nullOutputStream
Подробное описание полей
STORED
public static final int STORED
- См. также:
DEFLATED
public static final int DEFLATED
- См. также:
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
- См. также:
Подробное описание конструкторов
ZipOutputStream
public ZipOutputStream(OutputStream out)
Кодировка UTF-8 charset используется для кодирования имен и комментариев записей.
- Параметры:
-
out- фактический выходной поток
ZipOutputStream
public ZipOutputStream(OutputStream out, Charset charset)
- Параметры:
-
out- фактический выходной поток -
charset- charset, который будет использоваться для кодирования имен и комментариев записей - С версии:
- 1.7
Подробное описание методов
setComment
public void setComment(String comment)
- Параметры:
-
comment- строка комментария - Исключения:
-
IllegalArgumentException- если длина указанного комментария к файлу ZIP превышает 0xFFFF байт
setMethod
public void setMethod(int method)
- Параметры:
-
method- метод сжатия по умолчанию - Исключения:
-
IllegalArgumentException- если указанный метод сжатия недействителен
setLevel
public void setLevel(int level)
- Параметры:
-
level- уровень сжатия (0-9) - Исключения:
-
IllegalArgumentException- если уровень сжатия недействителен
putNextEntry
public void putNextEntry(ZipEntry e) throws IOException
Будет использоваться метод сжатия по умолчанию, если для записи не был указан метод сжатия. При записи сжатой (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
- Исключение:
-
ZipException- если произошла ошибка формата ZIP -
IOException- если произошла ошибка ввода-вывода
write
public void write(byte[] b, int off, int len) throws IOException
- Переопределяет:
-
writeв классеDeflaterOutputStream - Параметры:
-
b- данные, которые должны быть записаны -
off- начальный смещение в данных -
len- количество байтов, которые будут записаны - Исключение:
-
ZipException- если произошла ошибка файла ZIP -
IOException- если произошла ошибка ввода-вывода - См. также:
finish
public void finish() throws IOException
ZipException будет брошен, если совокупная длина, после кодирования, имени записи, данных дополнительного поля, комментария к записи и размера заголовка CEN Header, превышает 65 535 байтов.
- Переопределяет:
-
finishв классеDeflaterOutputStream - Исключение:
-
ZipException- если произошла ошибка файла ZIP -
IOException- если произошла ошибка исключения ввода-вывода
close
public void close() throws IOException
- Определено в:
-
closeв интерфейсеAutoCloseable - Определено в:
-
closeв интерфейсеCloseable - Переопределяет:
-
closeв классеDeflaterOutputStream - Исключение:
-
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.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/util/zip/ZipOutputStream.html