ZipFile
  public
  
  
  
  class
  ZipFile
  
    extends Object
  
  
  
  
  
      implements
      
        Closeable
      
  
  
| java.lang.Object | |
| ↳ | java.util.zip.ZipFile | 
This class is used to read entries from a zip file.
 Unless otherwise noted, passing a null argument to a constructor
 or method in this class will cause a NullPointerException to be
 thrown.
Summary
Constants | |
|---|---|
int | 
        
          CENATT
          Central directory (CEN) header internal file attributes field offset.  | 
    
int | 
        
          CENATX
          Central directory (CEN) header external file attributes field offset.  | 
    
int | 
        
          CENCOM
          Central directory (CEN) header comment length field offset.  | 
    
int | 
        
          CENCRC
          Central directory (CEN) header uncompressed file crc-32 value field offset.  | 
    
int | 
        
          CENDSK
          Central directory (CEN) header disk number start field offset.  | 
    
int | 
        
          CENEXT
          Central directory (CEN) header extra field length field offset.  | 
    
int | 
        
          CENFLG
          Central directory (CEN) header encrypt, decrypt flags field offset.  | 
    
int | 
        
          CENHDR
          Central directory (CEN) header size in bytes (including signature).  | 
    
int | 
        
          CENHOW
          Central directory (CEN) header compression method field offset.  | 
    
int | 
        
          CENLEN
          Central directory (CEN) header uncompressed size field offset.  | 
    
int | 
        
          CENNAM
          Central directory (CEN) header filename length field offset.  | 
    
int | 
        
          CENOFF
          Central directory (CEN) header LOC header offset field offset.  | 
    
long | 
        
          CENSIG
          Central directory (CEN) header signature.  | 
    
int | 
        
          CENSIZ
          Central directory (CEN) header compressed size field offset.  | 
    
int | 
        
          CENTIM
          Central directory (CEN) header modification time field offset.  | 
    
int | 
        
          CENVEM
          Central directory (CEN) header version made by field offset.  | 
    
int | 
        
          CENVER
          Central directory (CEN) header version needed to extract field offset.  | 
    
int | 
        
          ENDCOM
          End of central directory (END) header zip file comment length field offset.  | 
    
int | 
        
          ENDHDR
          End of central directory (END) header size in bytes (including signature).  | 
    
int | 
        
          ENDOFF
          End of central directory (END) header offset for the first CEN header field offset.  | 
    
long | 
        
          ENDSIG
          End of central directory (END) header signature.  | 
    
int | 
        
          ENDSIZ
          End of central directory (END) header central directory size in bytes field offset.  | 
    
int | 
        
          ENDSUB
          End of central directory (END) header number of entries on this disk field offset.  | 
    
int | 
        
          ENDTOT
          End of central directory (END) header total number of entries field offset.  | 
    
int | 
        
          EXTCRC
          Extra local (EXT) header uncompressed file crc-32 value field offset.  | 
    
int | 
        
          EXTHDR
          Extra local (EXT) header size in bytes (including signature).  | 
    
int | 
        
          EXTLEN
          Extra local (EXT) header uncompressed size field offset.  | 
    
long | 
        
          EXTSIG
          Extra local (EXT) header signature.  | 
    
int | 
        
          EXTSIZ
          Extra local (EXT) header compressed size field offset.  | 
    
int | 
        
          LOCCRC
          Local file (LOC) header uncompressed file crc-32 value field offset.  | 
    
int | 
        
          LOCEXT
          Local file (LOC) header extra field length field offset.  | 
    
int | 
        
          LOCFLG
          Local file (LOC) header general purpose bit flag field offset.  | 
    
int | 
        
          LOCHDR
          Local file (LOC) header size in bytes (including signature).  | 
    
int | 
        
          LOCHOW
          Local file (LOC) header compression method field offset.  | 
    
int | 
        
          LOCLEN
          Local file (LOC) header uncompressed size field offset.  | 
    
int | 
        
          LOCNAM
          Local file (LOC) header filename length field offset.  | 
    
long | 
        
          LOCSIG
          Local file (LOC) header signature.  | 
    
int | 
        
          LOCSIZ
          Local file (LOC) header compressed size field offset.  | 
    
int | 
        
          LOCTIM
          Local file (LOC) header modification time field offset.  | 
    
int | 
        
          LOCVER
          Local file (LOC) header version needed to extract field offset.  | 
    
int | 
        
          OPEN_DELETE
          Mode flag to open a zip file and mark it for deletion.  | 
    
int | 
        
          OPEN_READ
          Mode flag to open a zip file for reading.  | 
    
Public constructors | |
|---|---|
      
      ZipFile(File file)
      
      
        Opens a ZIP file for reading given the specified File object.  | 
  |
      
      ZipFile(File file, int mode)
      
      
        Opens a new   | 
  |
      
      ZipFile(File file, int mode, Charset charset)
      
      
        Opens a new   | 
  |
      
      ZipFile(File file, Charset charset)
      
      
        Opens a ZIP file for reading given the specified File object.  | 
  |
      
      ZipFile(String name)
      
      
        Opens a zip file for reading.  | 
  |
      
      ZipFile(String name, Charset charset)
      
      
        Opens a zip file for reading.  | 
  |
Public methods | |
|---|---|
        
        
        
        
        
        void
     | 
  
    
      
      close()
      
      
        Closes the ZIP file.  | 
  
        
        
        
        
        
        Enumeration<? extends ZipEntry>
     | 
  
    
      
      entries()
      
      
        Returns an enumeration of the ZIP file entries.  | 
  
        
        
        
        
        
        String
     | 
  
    
      
      getComment()
      
      
        Returns the zip file comment, or null if none.  | 
  
        
        
        
        
        
        ZipEntry
     | 
  
    
      
      getEntry(String name)
      
      
        Returns the zip file entry for the specified name, or null if not found.  | 
  
        
        
        
        
        
        InputStream
     | 
  
    
      
      getInputStream(ZipEntry entry)
      
      
        Returns an input stream for reading the contents of the specified zip file entry.  | 
  
        
        
        
        
        
        String
     | 
  
    
      
      getName()
      
      
        Returns the path name of the ZIP file.  | 
  
        
        
        
        
        
        int
     | 
  
    
      
      size()
      
      
        Returns the number of entries in the ZIP file.  | 
  
        
        
        
        
        
        Stream<? extends ZipEntry>
     | 
  
    
      
      stream()
      
      
        Returns an ordered   | 
  
Inherited methods | |
|---|---|
Constants
CENATT
public static final int CENATT
Central directory (CEN) header internal file attributes field offset.
Constant Value: 36 (0x00000024)
CENATX
public static final int CENATX
Central directory (CEN) header external file attributes field offset.
Constant Value: 38 (0x00000026)
CENCOM
public static final int CENCOM
Central directory (CEN) header comment length field offset.
Constant Value: 32 (0x00000020)
CENCRC
public static final int CENCRC
Central directory (CEN) header uncompressed file crc-32 value field offset.
Constant Value: 16 (0x00000010)
CENDSK
public static final int CENDSK
Central directory (CEN) header disk number start field offset.
Constant Value: 34 (0x00000022)
CENEXT
public static final int CENEXT
Central directory (CEN) header extra field length field offset.
Constant Value: 30 (0x0000001e)
CENFLG
public static final int CENFLG
Central directory (CEN) header encrypt, decrypt flags field offset.
Constant Value: 8 (0x00000008)
CENHDR
public static final int CENHDR
Central directory (CEN) header size in bytes (including signature).
Constant Value: 46 (0x0000002e)
CENHOW
public static final int CENHOW
Central directory (CEN) header compression method field offset.
Constant Value: 10 (0x0000000a)
CENLEN
public static final int CENLEN
Central directory (CEN) header uncompressed size field offset.
Constant Value: 24 (0x00000018)
CENNAM
public static final int CENNAM
Central directory (CEN) header filename length field offset.
Constant Value: 28 (0x0000001c)
CENOFF
public static final int CENOFF
Central directory (CEN) header LOC header offset field offset.
Constant Value: 42 (0x0000002a)
CENSIG
public static final long CENSIG
Central directory (CEN) header signature.
Constant Value: 33639248 (0x0000000002014b50)
CENSIZ
public static final int CENSIZ
Central directory (CEN) header compressed size field offset.
Constant Value: 20 (0x00000014)
CENTIM
public static final int CENTIM
Central directory (CEN) header modification time field offset.
Constant Value: 12 (0x0000000c)
CENVEM
public static final int CENVEM
Central directory (CEN) header version made by field offset.
Constant Value: 4 (0x00000004)
CENVER
public static final int CENVER
Central directory (CEN) header version needed to extract field offset.
Constant Value: 6 (0x00000006)
ENDCOM
public static final int ENDCOM
End of central directory (END) header zip file comment length field offset.
Constant Value: 20 (0x00000014)
ENDHDR
public static final int ENDHDR
End of central directory (END) header size in bytes (including signature).
Constant Value: 22 (0x00000016)
ENDOFF
public static final int ENDOFF
End of central directory (END) header offset for the first CEN header field offset.
Constant Value: 16 (0x00000010)
ENDSIG
public static final long ENDSIG
End of central directory (END) header signature.
Constant Value: 101010256 (0x0000000006054b50)
ENDSIZ
public static final int ENDSIZ
End of central directory (END) header central directory size in bytes field offset.
Constant Value: 12 (0x0000000c)
ENDSUB
public static final int ENDSUB
End of central directory (END) header number of entries on this disk field offset.
Constant Value: 8 (0x00000008)
ENDTOT
public static final int ENDTOT
End of central directory (END) header total number of entries field offset.
Constant Value: 10 (0x0000000a)
EXTCRC
public static final int EXTCRC
Extra local (EXT) header uncompressed file crc-32 value field offset.
Constant Value: 4 (0x00000004)
EXTHDR
public static final int EXTHDR
Extra local (EXT) header size in bytes (including signature).
Constant Value: 16 (0x00000010)
EXTLEN
public static final int EXTLEN
Extra local (EXT) header uncompressed size field offset.
Constant Value: 12 (0x0000000c)
EXTSIG
public static final long EXTSIG
Extra local (EXT) header signature.
Constant Value: 134695760 (0x0000000008074b50)
EXTSIZ
public static final int EXTSIZ
Extra local (EXT) header compressed size field offset.
Constant Value: 8 (0x00000008)
LOCCRC
public static final int LOCCRC
Local file (LOC) header uncompressed file crc-32 value field offset.
Constant Value: 14 (0x0000000e)
LOCEXT
public static final int LOCEXT
Local file (LOC) header extra field length field offset.
Constant Value: 28 (0x0000001c)
LOCFLG
public static final int LOCFLG
Local file (LOC) header general purpose bit flag field offset.
Constant Value: 6 (0x00000006)
LOCHDR
public static final int LOCHDR
Local file (LOC) header size in bytes (including signature).
Constant Value: 30 (0x0000001e)
LOCHOW
public static final int LOCHOW
Local file (LOC) header compression method field offset.
Constant Value: 8 (0x00000008)
LOCLEN
public static final int LOCLEN
Local file (LOC) header uncompressed size field offset.
Constant Value: 22 (0x00000016)
LOCNAM
public static final int LOCNAM
Local file (LOC) header filename length field offset.
Constant Value: 26 (0x0000001a)
LOCSIG
public static final long LOCSIG
Local file (LOC) header signature.
Constant Value: 67324752 (0x0000000004034b50)
LOCSIZ
public static final int LOCSIZ
Local file (LOC) header compressed size field offset.
Constant Value: 18 (0x00000012)
LOCTIM
public static final int LOCTIM
Local file (LOC) header modification time field offset.
Constant Value: 10 (0x0000000a)
LOCVER
public static final int LOCVER
Local file (LOC) header version needed to extract field offset.
Constant Value: 4 (0x00000004)
OPEN_DELETE
public static final int OPEN_DELETE
Mode flag to open a zip file and mark it for deletion.  The file will be
 deleted some time between the moment that it is opened and the moment
 that it is closed, but its contents will remain accessible via the
 ZipFile object until either the close method is invoked or the
 virtual machine exits.
Constant Value: 4 (0x00000004)
OPEN_READ
public static final int OPEN_READ
Mode flag to open a zip file for reading.
Constant Value: 1 (0x00000001)
Public constructors
ZipFile
public ZipFile (File file)
Opens a ZIP file for reading given the specified File object.
The UTF-8 charset is used to
 decode the entry names and comments.
| Parameters | |
|---|---|
file | 
        
          File: the ZIP file to be opened for reading | 
      
| Throws | |
|---|---|
ZipException | 
          if a ZIP format error has occurred | 
IOException | 
          if an I/O error has occurred | 
ZipFile
public ZipFile (File file, int mode)
Opens a new ZipFile to read from the specified
 File object in the specified mode.  The mode argument
 must be either OPEN_READ or OPEN_READ | OPEN_DELETE.
 
First, if there is a security manager, its checkRead
 method is called with the name argument as its argument to
 ensure the read is allowed.
 
The UTF-8 charset is used to
 decode the entry names and comments
| Parameters | |
|---|---|
file | 
        
          File: the ZIP file to be opened for reading | 
      
mode | 
        
          int: the mode in which the file is to be opened | 
      
| Throws | |
|---|---|
ZipException | 
          if a ZIP format error has occurred | 
IOException | 
          if an I/O error has occurred | 
SecurityException | 
          if a security manager exists and
         its checkRead method
         doesn't allow read access to the file,
         or its checkDelete method doesn't allow deleting
         the file when the OPEN_DELETE flag is set. | 
        
IllegalArgumentException | 
          if the mode argument is invalid | 
        
ZipFile
public ZipFile (File file, int mode, Charset charset)
Opens a new ZipFile to read from the specified
 File object in the specified mode.  The mode argument
 must be either OPEN_READ or OPEN_READ | OPEN_DELETE.
 
First, if there is a security manager, its checkRead
 method is called with the name argument as its argument to
 ensure the read is allowed.
| Parameters | |
|---|---|
file | 
        
          File: the ZIP file to be opened for reading | 
      
mode | 
        
          int: the mode in which the file is to be opened | 
      
charset | 
        
          Charset: the charset to
        be used to decode the ZIP entry name and comment that are not
        encoded by using UTF-8 encoding (indicated by entry's general
        purpose flag). | 
      
| Throws | |
|---|---|
ZipException | 
          if a ZIP format error has occurred | 
IOException | 
          if an I/O error has occurred | 
SecurityException | 
          if a security manager exists and its checkRead
         method doesn't allow read access to the file,or its
         checkDelete method doesn't allow deleting the
         file when the OPEN_DELETE flag is set | 
        
IllegalArgumentException | 
          if the mode argument is invalid | 
        
ZipFile
public ZipFile (File file, Charset charset)
Opens a ZIP file for reading given the specified File object.
| Parameters | |
|---|---|
file | 
        
          File: the ZIP file to be opened for reading | 
      
charset | 
        
          Charset: The charset to be
        used to decode the ZIP entry name and comment (ignored if
        the  language
        encoding bit of the ZIP entry's general purpose bit
        flag is set). | 
      
| Throws | |
|---|---|
ZipException | 
          if a ZIP format error has occurred | 
IOException | 
          if an I/O error has occurred | 
ZipFile
public ZipFile (String name)
Opens a zip file for reading.
First, if there is a security manager, its checkRead
 method is called with the name argument as its argument
 to ensure the read is allowed.
 
The UTF-8 charset is used to
 decode the entry names and comments.
 
If the app targets Android U or above, zip file entry names containing
 ".." or starting with "/" passed here will throw a ZipException.
 For more details, see ZipPathValidator.
| Parameters | |
|---|---|
name | 
        
          String: the name of the zip file | 
      
| Throws | |
|---|---|
ZipException | 
          if (1) a ZIP format error has occurred or
         (2) targetSdkVersion >= BUILD.VERSION_CODES.UPSIDE_DOWN_CAKE
         and (the name argument contains ".." or starts with "/"). | 
        
IOException | 
          if an I/O error has occurred | 
SecurityException | 
          if a security manager exists and its
         checkRead method doesn't allow read access to the file. | 
        
ZipFile
public ZipFile (String name, Charset charset)
Opens a zip file for reading.
First, if there is a security manager, its checkRead
 method is called with the name argument as its argument
 to ensure the read is allowed.
| Parameters | |
|---|---|
name | 
        
          String: the name of the zip file | 
      
charset | 
        
          Charset: the charset to
        be used to decode the ZIP entry name and comment that are not
        encoded by using UTF-8 encoding (indicated by entry's general
        purpose flag). | 
      
| Throws | |
|---|---|
ZipException | 
          if a ZIP format error has occurred | 
IOException | 
          if an I/O error has occurred | 
SecurityException | 
          if a security manager exists and its checkRead
         method doesn't allow read access to the file | 
        
Public methods
close
public void close ()
Closes the ZIP file.
 Closing this ZIP file will close all of the input streams
 previously returned by invocations of the getInputStream method.
| Throws | |
|---|---|
IOException | 
          if an I/O error has occurred | 
entries
public Enumeration<? extends ZipEntry> entries ()
Returns an enumeration of the ZIP file entries.
| Returns | |
|---|---|
Enumeration<? extends ZipEntry> | 
        an enumeration of the ZIP file entries | 
| Throws | |
|---|---|
IllegalStateException | 
          if the zip file has been closed | 
getComment
public String getComment ()
Returns the zip file comment, or null if none.
| Returns | |
|---|---|
String | 
        the comment string for the zip file, or null if none | 
| Throws | |
|---|---|
IllegalStateException | 
          if the zip file has been closed | 
getEntry
public ZipEntry getEntry (String name)
Returns the zip file entry for the specified name, or null if not found.
| Parameters | |
|---|---|
name | 
        
          String: the name of the entry | 
      
| Returns | |
|---|---|
ZipEntry | 
        the zip file entry, or null if not found | 
| Throws | |
|---|---|
IllegalStateException | 
          if the zip file has been closed | 
getInputStream
public InputStream getInputStream (ZipEntry entry)
Returns an input stream for reading the contents of the specified zip file entry.
Closing this ZIP file will, in turn, close all input streams that have been returned by invocations of this method.
| Parameters | |
|---|---|
entry | 
        
          ZipEntry: the zip file entry | 
      
| Returns | |
|---|---|
InputStream | 
        the input stream for reading the contents of the specified zip file entry. | 
| Throws | |
|---|---|
ZipException | 
          if a ZIP format error has occurred | 
IOException | 
          if an I/O error has occurred | 
IllegalStateException | 
          if the zip file has been closed | 
getName
public String getName ()
Returns the path name of the ZIP file.
| Returns | |
|---|---|
String | 
        the path name of the ZIP file | 
size
public int size ()
Returns the number of entries in the ZIP file.
| Returns | |
|---|---|
int | 
        the number of entries in the ZIP file | 
| Throws | |
|---|---|
IllegalStateException | 
          if the zip file has been closed | 
stream
public Stream<? extends ZipEntry> stream ()
Returns an ordered Stream over the ZIP file entries.
 Entries appear in the Stream in the order they appear in
 the central directory of the ZIP file.
| Returns | |
|---|---|
Stream<? extends ZipEntry> | 
        an ordered Stream of entries in this ZIP file | 
      
| Throws | |
|---|---|
IllegalStateException | 
          if the zip file has been closed |