This class reads the contents of ZIP files. It uses a random-access file internally so that the entries of the ZIP file do not have to be read sequentially, as they do with the ZipInputStream class. A ZipFile object can be created by specifying the ZIP file to be read either as a String filename or as a File object. In Java 1.3, temporary ZIP files can be marked for automatic deletion when they are closed. To take advantage of this feature, pass ZipFile.OPEN_READ|ZipFile.OPEN_DELETE as the mode argument to the ZipFile( ) constructor.

Once a ZipFile is created, the getEntry( ) method returns a ZipEntry object for a named entry, and the entries( ) method returns an Enumeration object that allows you to loop through all the ZipEntry objects for the file. To read the contents of a specific ZipEntry within the ZIP file, pass the ZipEntry to getInputStream( ); this returns an InputStream object from which you can read the entry’s contents.

Figure 16-145.

public class ZipFile implements ZipConstants {
// Public Constructors
     public ZipFile(String name) throws;  
     public ZipFile( file) throws ZipException,;  
1.3  public ZipFile( file, int mode) throws;  
// Public Constants
                  1.3  public static final int OPEN_DELETE;                            =4
                  1.3  public static final int OPEN_READ;                              =1
                  // Public Instance ...

Get Java in a Nutshell, 5th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.