ZipInputStream (Java 2 Platform SE 5.0) (original) (raw)


java.util.zip

Class ZipInputStream

java.lang.Object extended by java.io.InputStream extended by java.io.FilterInputStream extended by java.util.zip.InflaterInputStream extended by java.util.zip.ZipInputStream

All Implemented Interfaces:

Closeable

Direct Known Subclasses:

JarInputStream


public class ZipInputStream

extends InflaterInputStream

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


Field Summary
static int CENATT
static int CENATX
static int CENCOM
static int CENCRC
static int CENDSK
static int CENEXT
static int CENFLG
static int CENHDR
static int CENHOW
static int CENLEN
static int CENNAM
static int CENOFF
static long CENSIG
static int CENSIZ
static int CENTIM
static int CENVEM
static int CENVER
static int ENDCOM
static int ENDHDR
static int ENDOFF
static long ENDSIG
static int ENDSIZ
static int ENDSUB
static int ENDTOT
static int EXTCRC
static int EXTHDR
static int EXTLEN
static long EXTSIG
static int EXTSIZ
static int LOCCRC
static int LOCEXT
static int LOCFLG
static int LOCHDR
static int LOCHOW
static int LOCLEN
static int LOCNAM
static long LOCSIG
static int LOCSIZ
static int LOCTIM
static int LOCVER
Fields inherited from class java.util.zip.InflaterInputStream
buf, inf, len
Fields inherited from class java.io.FilterInputStream
in
Constructor Summary
ZipInputStream(InputStream in) Creates a new ZIP input stream.
Method Summary
int available() Returns 0 after EOF has reached for the current entry data, otherwise always return 1.
void close() Closes this input stream and releases any system resources associated with the stream.
void closeEntry() Closes the current ZIP entry and positions the stream for reading the next entry.
protected ZipEntry createZipEntry(String name) Creates a new ZipEntry object for the specified entry name.
ZipEntry getNextEntry() Reads the next ZIP file entry and positions the stream at the beginning of the entry data.
int [read](../../../java/util/zip/ZipInputStream.html#read%28byte[], int, int%29)(byte[] b, int off, int len) Reads from the current ZIP entry into an array of bytes.
long skip(long n) Skips specified number of bytes in the current ZIP entry.
Methods inherited from class java.util.zip.InflaterInputStream
fill, mark, markSupported, read, reset
Methods inherited from class java.io.FilterInputStream
read
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, [wait](../../../java/lang/Object.html#wait%28long, int%29)
Field Detail

LOCSIG

public static final long LOCSIG

See Also:

Constant Field Values


EXTSIG

public static final long EXTSIG

See Also:

Constant Field Values


CENSIG

public static final long CENSIG

See Also:

Constant Field Values


ENDSIG

public static final long ENDSIG

See Also:

Constant Field Values


LOCHDR

public static final int LOCHDR

See Also:

Constant Field Values


EXTHDR

public static final int EXTHDR

See Also:

Constant Field Values


CENHDR

public static final int CENHDR

See Also:

Constant Field Values


ENDHDR

public static final int ENDHDR

See Also:

Constant Field Values


LOCVER

public static final int LOCVER

See Also:

Constant Field Values


LOCFLG

public static final int LOCFLG

See Also:

Constant Field Values


LOCHOW

public static final int LOCHOW

See Also:

Constant Field Values


LOCTIM

public static final int LOCTIM

See Also:

Constant Field Values


LOCCRC

public static final int LOCCRC

See Also:

Constant Field Values


LOCSIZ

public static final int LOCSIZ

See Also:

Constant Field Values


LOCLEN

public static final int LOCLEN

See Also:

Constant Field Values


LOCNAM

public static final int LOCNAM

See Also:

Constant Field Values


LOCEXT

public static final int LOCEXT

See Also:

Constant Field Values


EXTCRC

public static final int EXTCRC

See Also:

Constant Field Values


EXTSIZ

public static final int EXTSIZ

See Also:

Constant Field Values


EXTLEN

public static final int EXTLEN

See Also:

Constant Field Values


CENVEM

public static final int CENVEM

See Also:

Constant Field Values


CENVER

public static final int CENVER

See Also:

Constant Field Values


CENFLG

public static final int CENFLG

See Also:

Constant Field Values


CENHOW

public static final int CENHOW

See Also:

Constant Field Values


CENTIM

public static final int CENTIM

See Also:

Constant Field Values


CENCRC

public static final int CENCRC

See Also:

Constant Field Values


CENSIZ

public static final int CENSIZ

See Also:

Constant Field Values


CENLEN

public static final int CENLEN

See Also:

Constant Field Values


CENNAM

public static final int CENNAM

See Also:

Constant Field Values


CENEXT

public static final int CENEXT

See Also:

Constant Field Values


CENCOM

public static final int CENCOM

See Also:

Constant Field Values


CENDSK

public static final int CENDSK

See Also:

Constant Field Values


CENATT

public static final int CENATT

See Also:

Constant Field Values


CENATX

public static final int CENATX

See Also:

Constant Field Values


CENOFF

public static final int CENOFF

See Also:

Constant Field Values


ENDSUB

public static final int ENDSUB

See Also:

Constant Field Values


ENDTOT

public static final int ENDTOT

See Also:

Constant Field Values


ENDSIZ

public static final int ENDSIZ

See Also:

Constant Field Values


ENDOFF

public static final int ENDOFF

See Also:

Constant Field Values


ENDCOM

public static final int ENDCOM

See Also:

Constant Field Values

Constructor Detail

ZipInputStream

public ZipInputStream(InputStream in)

Creates a new ZIP input stream.

Parameters:

in - the actual input stream

Method Detail

getNextEntry

public ZipEntry getNextEntry() throws IOException

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

Returns:

the next ZIP file entry, or null if there are no more entries

Throws:

[ZipException](../../../java/util/zip/ZipException.html "class in java.util.zip") - if a ZIP file error has occurred

[IOException](../../../java/io/IOException.html "class in java.io") - if an I/O error has occurred


closeEntry

public void closeEntry() throws IOException

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

Throws:

[ZipException](../../../java/util/zip/ZipException.html "class in java.util.zip") - if a ZIP file error has occurred

[IOException](../../../java/io/IOException.html "class in java.io") - if an I/O error has occurred


available

public int available() throws IOException

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.

Overrides:

[available](../../../java/util/zip/InflaterInputStream.html#available%28%29) in class [InflaterInputStream](../../../java/util/zip/InflaterInputStream.html "class in java.util.zip")

Returns:

1 before EOF and 0 after EOF has reached for current entry.

Throws:

[IOException](../../../java/io/IOException.html "class in java.io") - if an I/O error occurs.

See Also:

FilterInputStream.in


read

public int read(byte[] b, int off, int len) throws IOException

Reads from the current ZIP entry into an array of bytes. Blocks until some input is available.

Overrides:

[read](../../../java/util/zip/InflaterInputStream.html#read%28byte[], int, int%29) in class [InflaterInputStream](../../../java/util/zip/InflaterInputStream.html "class in java.util.zip")

Parameters:

b - the buffer into which the data is read

off - the start offset of the data

len - the maximum number of bytes read

Returns:

the actual number of bytes read, or -1 if the end of the entry is reached

Throws:

[ZipException](../../../java/util/zip/ZipException.html "class in java.util.zip") - if a ZIP file error has occurred

[IOException](../../../java/io/IOException.html "class in java.io") - if an I/O error has occurred

See Also:

FilterInputStream.in


skip

public long skip(long n) throws IOException

Skips specified number of bytes in the current ZIP entry.

Overrides:

[skip](../../../java/util/zip/InflaterInputStream.html#skip%28long%29) in class [InflaterInputStream](../../../java/util/zip/InflaterInputStream.html "class in java.util.zip")

Parameters:

n - the number of bytes to skip

Returns:

the actual number of bytes skipped

Throws:

[ZipException](../../../java/util/zip/ZipException.html "class in java.util.zip") - if a ZIP file error has occurred

[IOException](../../../java/io/IOException.html "class in java.io") - if an I/O error has occurred

[IllegalArgumentException](../../../java/lang/IllegalArgumentException.html "class in java.lang") - if n < 0


close

public void close() throws IOException

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

Specified by:

[close](../../../java/io/Closeable.html#close%28%29) in interface [Closeable](../../../java/io/Closeable.html "interface in java.io")

Overrides:

[close](../../../java/util/zip/InflaterInputStream.html#close%28%29) in class [InflaterInputStream](../../../java/util/zip/InflaterInputStream.html "class in java.util.zip")

Throws:

[IOException](../../../java/io/IOException.html "class in java.io") - if an I/O error has occurred

See Also:

FilterInputStream.in


createZipEntry

protected ZipEntry createZipEntry(String name)

Creates a new ZipEntry object for the specified entry name.

Parameters:

name - the ZIP file entry name

Returns:

the ZipEntry just created



Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright © 2004, 2010 Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.