Added in API level 1

ZipOutputStream

open class ZipOutputStream : DeflaterOutputStream
kotlin.Any
   ↳ java.io.OutputStream
   ↳ java.io.FilterOutputStream
   ↳ java.util.zip.DeflaterOutputStream
   ↳ java.util.zip.ZipOutputStream

This class implements an output stream filter for writing files in the ZIP file format. Includes support for both compressed and uncompressed entries.

Summary

Constants
static Int

Central directory (CEN) header internal file attributes field offset.

static Int

Central directory (CEN) header external file attributes field offset.

static Int

Central directory (CEN) header comment length field offset.

static Int

Central directory (CEN) header uncompressed file crc-32 value field offset.

static Int

Central directory (CEN) header disk number start field offset.

static Int

Central directory (CEN) header extra field length field offset.

static Int

Central directory (CEN) header encrypt, decrypt flags field offset.

static Int

Central directory (CEN) header size in bytes (including signature).

static Int

Central directory (CEN) header compression method field offset.

static Int

Central directory (CEN) header uncompressed size field offset.

static Int

Central directory (CEN) header filename length field offset.

static Int

Central directory (CEN) header LOC header offset field offset.

static Long

Central directory (CEN) header signature.

static Int

Central directory (CEN) header compressed size field offset.

static Int

Central directory (CEN) header modification time field offset.

static Int

Central directory (CEN) header version made by field offset.

static Int

Central directory (CEN) header version needed to extract field offset.

static Int

Compression method for compressed (DEFLATED) entries.

static Int

End of central directory (END) header zip file comment length field offset.

static Int

End of central directory (END) header size in bytes (including signature).

static Int

End of central directory (END) header offset for the first CEN header field offset.

static Long

End of central directory (END) header signature.

static Int

End of central directory (END) header central directory size in bytes field offset.

static Int

End of central directory (END) header number of entries on this disk field offset.

static Int

End of central directory (END) header total number of entries field offset.

static Int

Extra local (EXT) header uncompressed file crc-32 value field offset.

static Int

Extra local (EXT) header size in bytes (including signature).

static Int

Extra local (EXT) header uncompressed size field offset.

static Long

Extra local (EXT) header signature.

static Int

Extra local (EXT) header compressed size field offset.

static Int

Local file (LOC) header uncompressed file crc-32 value field offset.

static Int

Local file (LOC) header extra field length field offset.

static Int

Local file (LOC) header general purpose bit flag field offset.

static Int

Local file (LOC) header size in bytes (including signature).

static Int

Local file (LOC) header compression method field offset.

static Int

Local file (LOC) header uncompressed size field offset.

static Int

Local file (LOC) header filename length field offset.

static Long

Local file (LOC) header signature.

static Int

Local file (LOC) header compressed size field offset.

static Int

Local file (LOC) header modification time field offset.

static Int

Local file (LOC) header version needed to extract field offset.

static Int

Compression method for uncompressed (STORED) entries.

Public constructors

Creates a new ZIP output stream.

Creates a new ZIP output stream.

Public methods
open Unit

Closes the ZIP output stream as well as the stream being filtered.

open Unit

Closes the current ZIP entry and positions the stream for writing the next entry.

open Unit

Finishes writing the contents of the ZIP output stream without closing the underlying stream.

open Unit

Begins writing a new ZIP file entry and positions the stream to the start of the entry data.

open Unit
setComment(comment: String!)

Sets the ZIP file comment.

open Unit
setLevel(level: Int)

Sets the compression level for subsequent entries which are DEFLATED.

open Unit
setMethod(method: Int)

Sets the default compression method for subsequent entries.

open Unit
write(b: ByteArray!, off: Int, len: Int)

Writes an array of bytes to the current ZIP entry data.

Inherited functions
Inherited properties

Constants

CENATT

Added in API level 21
static val CENATT: Int

Central directory (CEN) header internal file attributes field offset.

Value: 36

CENATX

Added in API level 21
static val CENATX: Int

Central directory (CEN) header external file attributes field offset.

Value: 38

CENCOM

Added in API level 21
static val CENCOM: Int

Central directory (CEN) header comment length field offset.

Value: 32

CENCRC

Added in API level 21
static val CENCRC: Int

Central directory (CEN) header uncompressed file crc-32 value field offset.

Value: 16

CENDSK

Added in API level 21
static val CENDSK: Int

Central directory (CEN) header disk number start field offset.

Value: 34

CENEXT

Added in API level 21
static val CENEXT: Int

Central directory (CEN) header extra field length field offset.

Value: 30

CENFLG

Added in API level 21
static val CENFLG: Int

Central directory (CEN) header encrypt, decrypt flags field offset.

Value: 8

CENHDR

Added in API level 21
static val CENHDR: Int

Central directory (CEN) header size in bytes (including signature).

Value: 46

CENHOW

Added in API level 21
static val CENHOW: Int

Central directory (CEN) header compression method field offset.

Value: 10

CENLEN

Added in API level 21
static val CENLEN: Int

Central directory (CEN) header uncompressed size field offset.

Value: 24

CENNAM

Added in API level 21
static val CENNAM: Int

Central directory (CEN) header filename length field offset.

Value: 28

CENOFF

Added in API level 21
static val CENOFF: Int

Central directory (CEN) header LOC header offset field offset.

Value: 42

CENSIG

Added in API level 21
static val CENSIG: Long

Central directory (CEN) header signature.

Value: 33639248L

CENSIZ

Added in API level 21
static val CENSIZ: Int

Central directory (CEN) header compressed size field offset.

Value: 20

CENTIM

Added in API level 21
static val CENTIM: Int

Central directory (CEN) header modification time field offset.

Value: 12

CENVEM

Added in API level 21
static val CENVEM: Int

Central directory (CEN) header version made by field offset.

Value: 4

CENVER

Added in API level 21
static val CENVER: Int

Central directory (CEN) header version needed to extract field offset.

Value: 6

DEFLATED

Added in API level 1
static val DEFLATED: Int

Compression method for compressed (DEFLATED) entries.

Value: 8

ENDCOM

Added in API level 21
static val ENDCOM: Int

End of central directory (END) header zip file comment length field offset.

Value: 20

ENDHDR

Added in API level 21
static val ENDHDR: Int

End of central directory (END) header size in bytes (including signature).

Value: 22

ENDOFF

Added in API level 21
static val ENDOFF: Int

End of central directory (END) header offset for the first CEN header field offset.

Value: 16

ENDSIG

Added in API level 21
static val ENDSIG: Long

End of central directory (END) header signature.

Value: 101010256L

ENDSIZ

Added in API level 21
static val ENDSIZ: Int

End of central directory (END) header central directory size in bytes field offset.

Value: 12

ENDSUB

Added in API level 21
static val ENDSUB: Int

End of central directory (END) header number of entries on this disk field offset.

Value: 8

ENDTOT

Added in API level 21
static val ENDTOT: Int

End of central directory (END) header total number of entries field offset.

Value: 10

EXTCRC

Added in API level 21
static val EXTCRC: Int

Extra local (EXT) header uncompressed file crc-32 value field offset.

Value: 4

EXTHDR

Added in API level 21
static val EXTHDR: Int

Extra local (EXT) header size in bytes (including signature).

Value: 16

EXTLEN

Added in API level 21
static val EXTLEN: Int

Extra local (EXT) header uncompressed size field offset.

Value: 12

EXTSIG

Added in API level 21
static val EXTSIG: Long

Extra local (EXT) header signature.

Value: 134695760L

EXTSIZ

Added in API level 21
static val EXTSIZ: Int

Extra local (EXT) header compressed size field offset.

Value: 8

LOCCRC

Added in API level 21
static val LOCCRC: Int

Local file (LOC) header uncompressed file crc-32 value field offset.

Value: 14

LOCEXT

Added in API level 21
static val LOCEXT: Int

Local file (LOC) header extra field length field offset.

Value: 28

LOCFLG

Added in API level 21
static val LOCFLG: Int

Local file (LOC) header general purpose bit flag field offset.

Value: 6

LOCHDR

Added in API level 21
static val LOCHDR: Int

Local file (LOC) header size in bytes (including signature).

Value: 30

LOCHOW

Added in API level 21
static val LOCHOW: Int

Local file (LOC) header compression method field offset.

Value: 8

LOCLEN

Added in API level 21
static val LOCLEN: Int

Local file (LOC) header uncompressed size field offset.

Value: 22

LOCNAM

Added in API level 21
static val LOCNAM: Int

Local file (LOC) header filename length field offset.

Value: 26

LOCSIG

Added in API level 21
static val LOCSIG: Long

Local file (LOC) header signature.

Value: 67324752L

LOCSIZ

Added in API level 21
static val LOCSIZ: Int

Local file (LOC) header compressed size field offset.

Value: 18

LOCTIM

Added in API level 21
static val LOCTIM: Int

Local file (LOC) header modification time field offset.

Value: 10

LOCVER

Added in API level 21
static val LOCVER: Int

Local file (LOC) header version needed to extract field offset.

Value: 4

STORED

Added in API level 1
static val STORED: Int

Compression method for uncompressed (STORED) entries.

Value: 0

Public constructors

ZipOutputStream

Added in API level 1
ZipOutputStream(out: OutputStream!)

Creates a new ZIP output stream.

The UTF-8 charset is used to encode the entry names and comments.

Parameters
out OutputStream!: the actual output stream

ZipOutputStream

Added in API level 24
ZipOutputStream(
    out: OutputStream!,
    charset: Charset!)

Creates a new ZIP output stream.

Parameters
out OutputStream!: the actual output stream
charset Charset!: the charset to be used to encode the entry names and comments

Public methods

close

Added in API level 1
open fun close(): Unit

Closes the ZIP output stream as well as the stream being filtered.

Exceptions
java.lang.Exception if this resource cannot be closed
java.io.IOException if an I/O error has occurred
java.util.zip.ZipException if a ZIP file error has occurred

closeEntry

Added in API level 1
open fun closeEntry(): Unit

Closes the current ZIP entry and positions the stream for writing the next entry.

Exceptions
java.util.zip.ZipException if a ZIP format error has occurred
java.io.IOException if an I/O error has occurred

finish

Added in API level 1
open fun finish(): Unit

Finishes writing the contents of the ZIP output stream without closing the underlying stream. Use this method when applying multiple filters in succession to the same output stream.

Exceptions
java.io.IOException if an I/O exception has occurred
java.util.zip.ZipException if a ZIP file error has occurred

putNextEntry

Added in API level 1
open fun putNextEntry(e: ZipEntry!): Unit

Begins writing a new ZIP file entry and positions the stream to the start of the entry data. Closes the current entry if still active.

The default compression method will be used if no compression method was specified for the entry. When writing a compressed (DEFLATED) entry, and the compressed size has not been explicitly set with the ZipEntry#setCompressedSize(long) method, then the compressed size will be set to the actual compressed size after deflation.

The current time will be used if the entry has no set modification time.

Parameters
e ZipEntry!: the ZIP entry to be written
Exceptions
java.util.zip.ZipException if a ZIP format error has occurred
java.io.IOException if an I/O error has occurred

setComment

Added in API level 1
open fun setComment(comment: String!): Unit

Sets the ZIP file comment.

Parameters
comment String!: the comment string
Exceptions
java.lang.IllegalArgumentException if the length of the specified ZIP file comment is greater than 0xFFFF bytes

setLevel

Added in API level 1
open fun setLevel(level: Int): Unit

Sets the compression level for subsequent entries which are DEFLATED. The default setting is DEFAULT_COMPRESSION.

Parameters
level Int: the compression level (0-9)
Exceptions
java.lang.IllegalArgumentException if the compression level is invalid

setMethod

Added in API level 1
open fun setMethod(method: Int): Unit

Sets the default compression method for subsequent entries. This default will be used whenever the compression method is not specified for an individual ZIP file entry, and is initially set to DEFLATED.

Parameters
method Int: the default compression method
Exceptions
java.lang.IllegalArgumentException if the specified compression method is invalid

write

Added in API level 1
open fun write(
    b: ByteArray!,
    off: Int,
    len: Int
): Unit

Writes an array of bytes to the current ZIP entry data. This method will block until all the bytes are written.

Parameters
b ByteArray!: the data to be written
off Int: the start offset in the data
len Int: the number of bytes that are written
Exceptions
java.io.IOException if an I/O error has occurred
java.util.zip.ZipException if a ZIP file error has occurred