Google is committed to advancing racial equity for Black communities. See how.
Added in API level 1

ZipInputStream

open class ZipInputStream : InflaterInputStream
kotlin.Any
   ↳ java.io.InputStream
   ↳ java.io.FilterInputStream
   ↳ java.util.zip.InflaterInputStream
   ↳ java.util.zip.ZipInputStream

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

Summary

Constants
static Int

static Int

static Int

static Int

static Int

static Int

static Int

static Int

static Int

static Int

static Int

static Int

static Long

static Int

static Int

static Int

static Int

static Int

static Int

static Int

static Long

static Int

static Int

static Int

static Int

static Int

static Int

static Long

static Int

static Int

static Int

static Int

static Int

static Int

static Int

static Int

static Long

static Int

static Int

static Int

Public constructors

Creates a new ZIP input stream.

<init>(in: InputStream!, charset: Charset!)

Creates a new ZIP input stream.

Public methods
open Int

Returns 0 after EOF has reached for the current entry data, otherwise always return 1.

open Unit

Closes this input stream and releases any system resources associated with the stream.

open Unit

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

open ZipEntry!

Reads the next ZIP file entry and positions the stream at the beginning of the entry data.

open Int
read(b: ByteArray!, off: Int, len: Int)

Reads from the current ZIP entry into an array of bytes.

open Long
skip(n: Long)

Skips specified number of bytes in the current ZIP entry.

Protected methods
open ZipEntry!

Creates a new ZipEntry object for the specified entry name.

Inherited functions
Inherited properties

Constants

CENATT

Added in API level 21
static val CENATT: Int
Value: 36

CENATX

Added in API level 21
static val CENATX: Int
Value: 38

CENCOM

Added in API level 21
static val CENCOM: Int
Value: 32

CENCRC

Added in API level 21
static val CENCRC: Int
Value: 16

CENDSK

Added in API level 21
static val CENDSK: Int
Value: 34

CENEXT

Added in API level 21
static val CENEXT: Int
Value: 30

CENFLG

Added in API level 21
static val CENFLG: Int
Value: 8

CENHDR

Added in API level 21
static val CENHDR: Int
Value: 46

CENHOW

Added in API level 21
static val CENHOW: Int
Value: 10

CENLEN

Added in API level 21
static val CENLEN: Int
Value: 24

CENNAM

Added in API level 21
static val CENNAM: Int
Value: 28

CENOFF

Added in API level 21
static val CENOFF: Int
Value: 42

CENSIG

Added in API level 21
static val CENSIG: Long
Value: 33639248L

CENSIZ

Added in API level 21
static val CENSIZ: Int
Value: 20

CENTIM

Added in API level 21
static val CENTIM: Int
Value: 12

CENVEM

Added in API level 21
static val CENVEM: Int
Value: 4

CENVER

Added in API level 21
static val CENVER: Int
Value: 6

ENDCOM

Added in API level 21
static val ENDCOM: Int
Value: 20

ENDHDR

Added in API level 21
static val ENDHDR: Int
Value: 22

ENDOFF

Added in API level 21
static val ENDOFF: Int
Value: 16

ENDSIG

Added in API level 21
static val ENDSIG: Long
Value: 101010256L

ENDSIZ

Added in API level 21
static val ENDSIZ: Int
Value: 12

ENDSUB

Added in API level 21
static val ENDSUB: Int
Value: 8

ENDTOT

Added in API level 21
static val ENDTOT: Int
Value: 10

EXTCRC

Added in API level 21
static val EXTCRC: Int
Value: 4

EXTHDR

Added in API level 21
static val EXTHDR: Int
Value: 16

EXTLEN

Added in API level 21
static val EXTLEN: Int
Value: 12

EXTSIG

Added in API level 21
static val EXTSIG: Long
Value: 134695760L

EXTSIZ

Added in API level 21
static val EXTSIZ: Int
Value: 8

LOCCRC

Added in API level 21
static val LOCCRC: Int
Value: 14

LOCEXT

Added in API level 21
static val LOCEXT: Int
Value: 28

LOCFLG

Added in API level 21
static val LOCFLG: Int
Value: 6

LOCHDR

Added in API level 21
static val LOCHDR: Int
Value: 30

LOCHOW

Added in API level 21
static val LOCHOW: Int
Value: 8

LOCLEN

Added in API level 21
static val LOCLEN: Int
Value: 22

LOCNAM

Added in API level 21
static val LOCNAM: Int
Value: 26

LOCSIG

Added in API level 21
static val LOCSIG: Long
Value: 67324752L

LOCSIZ

Added in API level 21
static val LOCSIZ: Int
Value: 18

LOCTIM

Added in API level 21
static val LOCTIM: Int
Value: 10

LOCVER

Added in API level 21
static val LOCVER: Int
Value: 4

Public constructors

<init>

Added in API level 1
ZipInputStream(in: InputStream!)

Creates a new ZIP input stream.

The UTF-8 charset is used to decode the entry names.

Parameters
in InputStream!: the actual input stream

<init>

Added in API level 24
ZipInputStream(
    in: InputStream!,
    charset: Charset!)

Creates a new ZIP input stream.

Parameters
in InputStream!: the actual input stream
charset Charset!: The charset to be used to decode the ZIP entry name (ignored if the language encoding bit of the ZIP entry's general purpose bit flag is set).

Public methods

available

Added in API level 1
open fun available(): Int

Returns 0 after EOF has reached for the current entry data, otherwise always return 1.

Programs should not count on this method to return the actual number of bytes that could be read without blocking.

Return
Int 1 before EOF and 0 after EOF has reached for current entry.
Exceptions
java.io.IOException if an I/O error occurs.

close

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

Closes this input stream and releases any system resources associated with the stream.

Exceptions
java.lang.Exception if this resource cannot be closed
java.io.IOException if an I/O error occurs
java.io.IOException if an I/O error has occurred

closeEntry

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

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

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

getNextEntry

Added in API level 1
open fun getNextEntry(): ZipEntry!

Reads the next ZIP file entry and positions the stream at the beginning of the entry data.

Return
ZipEntry! the next ZIP file entry, or null if there are no more entries
Exceptions
java.util.zip.ZipException if a ZIP file error has occurred
java.io.IOException if an I/O error has occurred

read

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

Reads from the current ZIP entry into an array of bytes. If len is not zero, the method blocks until some input is available; otherwise, no bytes are read and 0 is returned.

Parameters
b ByteArray!: the buffer into which the data is read
off Int: the start offset in the destination array b
len Int: the maximum number of bytes read
Return
Int the actual number of bytes read, or -1 if the end of the entry is reached
Exceptions
java.lang.NullPointerException if b is null.
java.lang.IndexOutOfBoundsException if off is negative, len is negative, or len is greater than b.length - off
java.util.zip.ZipException if a ZIP file error has occurred
java.io.IOException if an I/O error has occurred

skip

Added in API level 1
open fun skip(n: Long): Long

Skips specified number of bytes in the current ZIP entry.

Parameters
n Long: the number of bytes to skip
Return
Long the actual number of bytes skipped
Exceptions
java.util.zip.ZipException if a ZIP file error has occurred
java.io.IOException if an I/O error has occurred
java.lang.IllegalArgumentException if n < 0

Protected methods

createZipEntry

Added in API level 1
protected open fun createZipEntry(name: String!): ZipEntry!

Creates a new ZipEntry object for the specified entry name.

Parameters
name String!: the ZIP file entry name
Return
ZipEntry! the ZipEntry just created