public class

ZipFile

extends Object
java.lang.Object
   ↳ java.util.zip.ZipFile
Known Direct Subclasses

Class Overview

This class provides random read access to a ZIP-archive file.

While ZipInputStream provides stream based read access to a ZIP-archive, this class implements more efficient (file based) access and makes use of the central directory within a ZIP-archive.

Use ZipOutputStream if you want to create an archive.

A temporary ZIP file can be marked for automatic deletion upon closing it.

Summary

Constants
int CENATT
int CENATX
int CENCOM
int CENCRC
int CENDSK
int CENEXT
int CENFLG
int CENHDR
int CENHOW
int CENLEN
int CENNAM
int CENOFF
long CENSIG
int CENSIZ
int CENTIM
int CENVEM
int CENVER
int ENDCOM
int ENDHDR
int ENDOFF
long ENDSIG
int ENDSIZ
int ENDSUB
int ENDTOT
int EXTCRC
int EXTHDR
int EXTLEN
long EXTSIG
int EXTSIZ
int LOCCRC
int LOCEXT
int LOCFLG
int LOCHDR
int LOCHOW
int LOCLEN
int LOCNAM
long LOCSIG
int LOCSIZ
int LOCTIM
int LOCVER
int OPEN_DELETE Delete zip file when closed.
int OPEN_READ Open zip file for read.
Public Constructors
ZipFile(File file)
Constructs a new ZipFile with the specified file.
ZipFile(File file, int mode)
Opens a file as ZIP-archive.
ZipFile(String name)
Opens a ZIP archived file.
Public Methods
void close()
Closes this ZIP file.
Enumeration<? extends ZipEntry> entries()
Returns an enumeration of the entries.
ZipEntry getEntry(String entryName)
Gets the ZIP entry with the specified name from this ZipFile.
InputStream getInputStream(ZipEntry entry)
Returns an input stream on the data of the specified ZipEntry.
String getName()
Gets the file name of this ZipFile.
int size()
Returns the number of ZipEntries in this ZipFile.
Protected Methods
void finalize()
Is called before the object's memory is being reclaimed by the VM.
[Expand]
Inherited Methods
From class java.lang.Object

Constants

public static final int CENATT

Constant Value: 36 (0x00000024)

public static final int CENATX

Constant Value: 38 (0x00000026)

public static final int CENCOM

Constant Value: 32 (0x00000020)

public static final int CENCRC

Constant Value: 16 (0x00000010)

public static final int CENDSK

Constant Value: 34 (0x00000022)

public static final int CENEXT

Constant Value: 30 (0x0000001e)

public static final int CENFLG

Constant Value: 8 (0x00000008)

public static final int CENHDR

Constant Value: 46 (0x0000002e)

public static final int CENHOW

Constant Value: 10 (0x0000000a)

public static final int CENLEN

Constant Value: 24 (0x00000018)

public static final int CENNAM

Constant Value: 28 (0x0000001c)

public static final int CENOFF

Constant Value: 42 (0x0000002a)

public static final long CENSIG

Constant Value: 33639248 (0x0000000002014b50)

public static final int CENSIZ

Constant Value: 20 (0x00000014)

public static final int CENTIM

Constant Value: 12 (0x0000000c)

public static final int CENVEM

Constant Value: 4 (0x00000004)

public static final int CENVER

Constant Value: 6 (0x00000006)

public static final int ENDCOM

Constant Value: 20 (0x00000014)

public static final int ENDHDR

Constant Value: 22 (0x00000016)

public static final int ENDOFF

Constant Value: 16 (0x00000010)

public static final long ENDSIG

Constant Value: 101010256 (0x0000000006054b50)

public static final int ENDSIZ

Constant Value: 12 (0x0000000c)

public static final int ENDSUB

Constant Value: 8 (0x00000008)

public static final int ENDTOT

Constant Value: 10 (0x0000000a)

public static final int EXTCRC

Constant Value: 4 (0x00000004)

public static final int EXTHDR

Constant Value: 16 (0x00000010)

public static final int EXTLEN

Constant Value: 12 (0x0000000c)

public static final long EXTSIG

Constant Value: 134695760 (0x0000000008074b50)

public static final int EXTSIZ

Constant Value: 8 (0x00000008)

public static final int LOCCRC

Constant Value: 14 (0x0000000e)

public static final int LOCEXT

Constant Value: 28 (0x0000001c)

public static final int LOCFLG

Constant Value: 6 (0x00000006)

public static final int LOCHDR

Constant Value: 30 (0x0000001e)

public static final int LOCHOW

Constant Value: 8 (0x00000008)

public static final int LOCLEN

Constant Value: 22 (0x00000016)

public static final int LOCNAM

Constant Value: 26 (0x0000001a)

public static final long LOCSIG

Constant Value: 67324752 (0x0000000004034b50)

public static final int LOCSIZ

Constant Value: 18 (0x00000012)

public static final int LOCTIM

Constant Value: 10 (0x0000000a)

public static final int LOCVER

Constant Value: 4 (0x00000004)

public static final int OPEN_DELETE

Delete zip file when closed.

Constant Value: 4 (0x00000004)

public static final int OPEN_READ

Open zip file for read.

Constant Value: 1 (0x00000001)

Public Constructors

public ZipFile (File file)

Constructs a new ZipFile with the specified file.

Parameters
file the file to read from.
Throws
ZipException if a ZIP error occurs.
IOException if an IOException occurs.

public ZipFile (File file, int mode)

Opens a file as ZIP-archive. "mode" must be OPEN_READ or OPEN_DELETE . The latter sets the "delete on exit" flag through a file.

Parameters
file the ZIP file to read.
mode the mode of the file open operation.
Throws
IOException if an IOException occurs.

public ZipFile (String name)

Opens a ZIP archived file.

Parameters
name the name of the ZIP file.
Throws
IOException if an IOException occurs.

Public Methods

public void close ()

Closes this ZIP file.

Throws
IOException if an IOException occurs.

public Enumeration<? extends ZipEntry> entries ()

Returns an enumeration of the entries. The entries are listed in the order in which they appear in the ZIP archive.

Returns
  • the enumeration of the entries.

public ZipEntry getEntry (String entryName)

Gets the ZIP entry with the specified name from this ZipFile.

Parameters
entryName the name of the entry in the ZIP file.
Returns
  • a ZipEntry or null if the entry name does not exist in the ZIP file.

public InputStream getInputStream (ZipEntry entry)

Returns an input stream on the data of the specified ZipEntry.

Parameters
entry the ZipEntry.
Returns
  • an input stream of the data contained in the ZipEntry.
Throws
IOException if an IOException occurs.

public String getName ()

Gets the file name of this ZipFile.

Returns
  • the file name of this ZipFile.

public int size ()

Returns the number of ZipEntries in this ZipFile.

Returns
  • the number of entries in this file.

Protected Methods

protected void finalize ()

Is called before the object's memory is being reclaimed by the VM. This can only happen once the VM has detected, during a run of the garbage collector, that the object is no longer reachable by any thread of the running application.

The method can be used to free system resources or perform other cleanup before the object is garbage collected. The default implementation of the method is empty, which is also expected by the VM, but subclasses can override finalize() as required. Uncaught exceptions which are thrown during the execution of this method cause it to terminate immediately but are otherwise ignored.

Note that the VM does guarantee that finalize() is called at most once for any object, but it doesn't guarantee when (if at all) finalize() will be called. For example, object B's finalize() can delay the execution of object A's finalize() method and therefore it can delay the reclamation of A's memory. To be safe, use a ReferenceQueue, because it provides more control over the way the VM deals with references during garbage collection.

Throws
IOException