Class ZipEntry

  • All Implemented Interfaces:
    java.lang.Cloneable, ZipConstants

    public class ZipEntry
    extends java.lang.Object
    implements ZipConstants, java.lang.Cloneable
    This class represents a member of a zip archive. ZipFile and ZipInputStream will give you instances of this class as information about the members in an archive. On the other hand ZipOutputStream needs an instance of this class to create a new member.
    • Field Detail

      • KNOWN_SIZE

        private static int KNOWN_SIZE
      • KNOWN_CSIZE

        private static int KNOWN_CSIZE
      • KNOWN_CRC

        private static int KNOWN_CRC
      • KNOWN_TIME

        private static int KNOWN_TIME
      • cal

        private static java.util.Calendar cal
      • name

        private final java.lang.String name
      • size

        private int size
      • compressedSize

        private int compressedSize
      • crc

        private int crc
      • dostime

        private int dostime
      • known

        private short known
      • method

        private short method
      • extra

        private byte[] extra
      • comment

        private java.lang.String comment
      • flags

        int flags
      • offset

        int offset
      • STORED

        public static final int STORED
        Compression method. This method doesn't compress at all.
        See Also:
        Constant Field Values
      • DEFLATED

        public static final int DEFLATED
        Compression method. This method uses the Deflater.
        See Also:
        Constant Field Values
    • Constructor Detail

      • ZipEntry

        public ZipEntry​(java.lang.String name)
        Creates a zip entry with the given name.
        Parameters:
        name - the name. May include directory components separated by '/'.
        Throws:
        java.lang.NullPointerException - when name is null.
        java.lang.IllegalArgumentException - when name is bigger then 65535 chars.
      • ZipEntry

        public ZipEntry​(ZipEntry e)
        Creates a copy of the given zip entry.
        Parameters:
        e - the entry to copy.
    • Method Detail

      • setDOSTime

        final void setDOSTime​(int dostime)
      • getDOSTime

        final int getDOSTime()
      • clone

        public java.lang.Object clone()
        Clones the entry.
        Overrides:
        clone in class java.lang.Object
      • getName

        public java.lang.String getName()
        Returns the entry name. The path components in the entry are always separated by slashes ('/').
      • setTime

        public void setTime​(long time)
        Sets the time of last modification of the entry.
      • getTime

        public long getTime()
        Gets the time of last modification of the entry.
        Returns:
        the time of last modification of the entry, or -1 if unknown.
      • getCalendar

        private static java.util.Calendar getCalendar()
      • setSize

        public void setSize​(long size)
        Sets the size of the uncompressed data.
        Throws:
        java.lang.IllegalArgumentException - if size is not in 0..0xffffffffL
      • getSize

        public long getSize()
        Gets the size of the uncompressed data.
        Returns:
        the size or -1 if unknown.
      • setCompressedSize

        public void setCompressedSize​(long csize)
        Sets the size of the compressed data.
        Throws:
        java.lang.IllegalArgumentException - if size is not in 0..0xffffffffL
      • getCompressedSize

        public long getCompressedSize()
        Gets the size of the compressed data.
        Returns:
        the size or -1 if unknown.
      • setCrc

        public void setCrc​(long crc)
        Sets the crc of the uncompressed data.
        Throws:
        java.lang.IllegalArgumentException - if crc is not in 0..0xffffffffL
      • getCrc

        public long getCrc()
        Gets the crc of the uncompressed data.
        Returns:
        the crc or -1 if unknown.
      • setMethod

        public void setMethod​(int method)
        Sets the compression method. Only DEFLATED and STORED are supported.
        Throws:
        java.lang.IllegalArgumentException - if method is not supported.
        See Also:
        ZipOutputStream.DEFLATED, ZipOutputStream.STORED
      • getMethod

        public int getMethod()
        Gets the compression method.
        Returns:
        the compression method or -1 if unknown.
      • setExtra

        public void setExtra​(byte[] extra)
        Sets the extra data.
        Throws:
        java.lang.IllegalArgumentException - if extra is longer than 0xffff bytes.
      • getExtra

        public byte[] getExtra()
        Gets the extra data.
        Returns:
        the extra data or null if not set.
      • setComment

        public void setComment​(java.lang.String comment)
        Sets the entry comment.
        Throws:
        java.lang.IllegalArgumentException - if comment is longer than 0xffff.
      • getComment

        public java.lang.String getComment()
        Gets the comment.
        Returns:
        the comment or null if not set.
      • isDirectory

        public boolean isDirectory()
        Gets true, if the entry is a directory. This is solely determined by the name, a trailing slash '/' marks a directory.
      • toString

        public java.lang.String toString()
        Gets the string representation of this ZipEntry. This is just the name as returned by getName().
        Overrides:
        toString in class java.lang.Object
      • hashCode

        public int hashCode()
        Gets the hashCode of this ZipEntry. This is just the hashCode of the name. Note that the equals method isn't changed, though.
        Overrides:
        hashCode in class java.lang.Object