Module java.base
Package java.util.zip

Class ZipFile

    • Constructor Detail

      • ZipFile

        public ZipFile(String name)        throwsIOException
        Opens a zip file for reading.

        First, if there is a security manager, itscheckRead method is called with thename argument as its argument to ensure the read is allowed.

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

        Parameters:
        name - the name of the zip file
        Throws:
        ZipException - if a ZIP format error has occurred
        IOException - if an I/O error has occurred
        SecurityException - if a security manager exists and itscheckRead method doesn't allow read access to the file.
        See Also:
        SecurityManager.checkRead(java.lang.String)
      • ZipFile

        public ZipFile(File file,               int mode)        throwsIOException
        Opens a newZipFile to read from the specifiedFile object in the specified mode. The mode argument must be eitherOPEN_READ orOPEN_READ | OPEN_DELETE.

        First, if there is a security manager, itscheckRead method is called with thename argument as its argument to ensure the read is allowed.

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

        Parameters:
        file - the ZIP file to be opened for reading
        mode - 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 itscheckRead method doesn't allow read access to the file, or itscheckDelete method doesn't allow deleting the file when theOPEN_DELETE flag is set.
        IllegalArgumentException - if themode argument is invalid
        Since:
        1.3
        See Also:
        SecurityManager.checkRead(java.lang.String)
      • ZipFile

        public ZipFile(File file)        throwsZipException,IOException
        Opens a ZIP file for reading given the specified File object.

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

        Parameters:
        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,Charset charset)        throwsIOException
        Opens a newZipFile to read from the specifiedFile object in the specified mode. The mode argument must be eitherOPEN_READ orOPEN_READ | OPEN_DELETE.

        First, if there is a security manager, itscheckRead method is called with thename argument as its argument to ensure the read is allowed.

        Parameters:
        file - the ZIP file to be opened for reading
        mode - the mode in which the file is to be opened
        charset - thecharset 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 itscheckRead method doesn't allow read access to the file,or itscheckDelete method doesn't allow deleting the file when theOPEN_DELETE flag is set
        IllegalArgumentException - if themode argument is invalid
        Since:
        1.7
        See Also:
        SecurityManager.checkRead(java.lang.String)
      • ZipFile

        public ZipFile(String name,Charset charset)        throwsIOException
        Opens a zip file for reading.

        First, if there is a security manager, itscheckRead method is called with thename argument as its argument to ensure the read is allowed.

        Parameters:
        name - the name of the zip file
        charset - thecharset 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 itscheckRead method doesn't allow read access to the file
        Since:
        1.7
        See Also:
        SecurityManager.checkRead(java.lang.String)
      • ZipFile

        public ZipFile(File file,Charset charset)        throwsIOException
        Opens a ZIP file for reading given the specified File object.
        Parameters:
        file - the ZIP file to be opened for reading
        charset - Thecharset 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
        Since:
        1.7
    • Method Detail

      • getComment

        public String getComment()
        Returns the zip file comment, or null if none.
        Returns:
        the comment string for the zip file, or null if none
        Throws:
        IllegalStateException - if the zip file has been closed
        Since:
        1.7
      • getEntry

        public ZipEntry getEntry(String name)
        Returns the zip file entry for the specified name, or null if not found.
        Parameters:
        name - the name of the entry
        Returns:
        the zip file entry, or null if not found
        Throws:
        IllegalStateException - if the zip file has been closed
      • getInputStream

        public InputStream getInputStream(ZipEntry entry)                           throwsIOException
        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 - the zip file entry
        Returns:
        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:
        the path name of the ZIP file
      • entries

        public Enumeration<? extendsZipEntry> entries()
        Returns an enumeration of the ZIP file entries.
        Returns:
        an enumeration of the ZIP file entries
        Throws:
        IllegalStateException - if the zip file has been closed
      • stream

        public Stream<? extendsZipEntry> stream()
        Returns an orderedStream over the ZIP file entries. Entries appear in theStream in the order they appear in the central directory of the ZIP file.
        Returns:
        an orderedStream of entries in this ZIP file
        Throws:
        IllegalStateException - if the zip file has been closed
        Since:
        1.8
      • size

        public int size()
        Returns the number of entries in the ZIP file.
        Returns:
        the number of entries in the ZIP file
        Throws:
        IllegalStateException - if the zip file has been closed
      • finalize

        protected void finalize()                 throwsIOException
        Ensures that the system resources held by this ZipFile object are released when there are no more references to it.

        Since the time when GC would invoke this method is undetermined, it is strongly recommended that applications invoke theclose method as soon they have finished accessing thisZipFile. This will prevent holding up system resources for an undetermined length of time.

        Overrides:
        finalize in class Object
        Throws:
        IOException - if an I/O error has occurred
        See Also:
        close()