Open In App

Java.util.zip.ZipEntry class in Java

Improve
Improve
Like Article
Like
Save
Share
Report

This class is used to represent a ZIP file entry.
Constructors

  • ZipEntry(String name) : Creates a new zip entry with the specified name.
  • ZipEntry(ZipEntry e) : Creates a new zip entry with fields taken from the specified zip entry.

Methods:

  • Object clone() : Returns a copy of this entry.
    Syntax :public Object clone()
    Overrides:
    clone in class Object
    Returns:
    a clone of this instance.
  • String getComment() : Returns the comment string for the entry, or null if none.
    Syntax :public String getComment()
    Returns:
    the comment string for the entry, or null if none
  • long getCompressedSize() : Returns the size of the compressed entry data, or -1 if not known.In the case of a stored entry, the compressed size will be the same as the uncompressed size of the entry.
    Syntax :public long getCompressedSize()
    Returns:
    the size of the compressed entry data, or -1 if not known
  • long getCrc() : Returns the CRC-32 checksum of the uncompressed entry data, or -1 if not known.
    Syntax :public long getCrc()
    Returns:
    the CRC-32 checksum of the uncompressed entry data, or -1 if not known
  • byte[] getExtra() : Returns the extra field data for the entry, or null if none.
    Syntax :=public byte[] getExtra()
    Returns:
    the extra field data for the entry, or null if none
    
  • int getMethod() : Returns the compression method of the entry, or -1 if not specified.
    Syntax :public int getMethod()
    Returns:
    the compression method of the entry, or -1 if not specified
  • String getName() : Returns the name of the entry.
    Syntax :public String getName()
    Returns:
    the name of the entry
    
  • long getSize() :Returns the uncompressed size of the entry data, or -1 if not known.
    Syntax :public long getSize()
    Returns:
    the uncompressed size of the entry data, or -1 if not know
  • long getTime() : Returns the modification time of the entry, or -1 if not specified.
    Syntax :public long getTime()
    Returns:
    the modification time of the entry, or -1 if not specified
  • int hashCode() : Returns the hash code value for this entry.
    Syntax :public int hashCode()
    Overrides:
    hashCode in class Object
    Returns:
    a hash code value for this object.
  • boolean isDirectory() : Returns true if this is a directory entry. A directory entry is defined to be one whose name ends with a ‘/’.
    Syntax :public boolean isDirectory()
    Returns:
    true if this is a directory entry
  • void setComment(String comment):Sets the optional comment string for the entry.ZIP entry comments have maximum length of 0xffff. If the length of the specified comment string is greater than 0xFFFF bytes after encoding, only the first 0xFFFF bytes are output to the ZIP file entry.
    Syntax :public void setComment(String comment)
    Parameters:
    comment - the comment string
  • void setCompressedSize(long csize) : Sets the size of the compressed entry data.
    Syntax :public void setCompressedSize(long csize)
    Parameters:
    csize - the compressed size to set to
  • void setCrc(long crc) : Sets the CRC-32 checksum of the uncompressed entry data.
    Syntax :public void setCrc(long crc)
    Parameters:
    crc - the CRC-32 value
    Throws:
    IllegalArgumentException
  • void setExtra(byte[] extra) : Sets the optional extra field data for the entry.
    Syntax :public void setExtra(byte[] extra)
    Parameters:
    extra - the extra field data bytes
    Throws:
    IllegalArgumentException
  • void setMethod(int method) : Sets the compression method for the entry.
    Syntax :public void setMethod(int method)
    Parameters:
    method - the compression method, either STORED or DEFLATED
    Throws:
    IllegalArgumentException 
  • void setSize(long size) : Sets the uncompressed size of the entry data.
    Syntax :public void setSize(long size)
    Parameters:
    size - the uncompressed size in bytes
    Throws:
    IllegalArgumentException 
  • void setTime(long time) : Sets the modification time of the entry.
    Syntax :public void setTime(long time)
    Parameters:
    time - the entry modification time in number of milliseconds since the epoch
  • String toString() : Returns a string representation of the ZIP entry.
    Syntax :public String toString()
    Overrides:
    toString in class Object
    Returns:
    a string representation of the object.

Program:




//Java program demonstrating ZipEntry methods
  
import java.io.FileInputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.nio.file.attribute.FileTime;
import java.util.concurrent.TimeUnit;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
  
class ZipEntryDemo
{
    public static void main(String[] args) throws IOException
    {
        FileInputStream fis = new FileInputStream("Awesome CV.zip");
        ZipInputStream jis = new ZipInputStream(fis);
        PrintStream cout=System.out;
  
        //reading the next ZIP file entry
        ZipEntry ze = jis.getNextEntry();
  
        //illustrating getName()
        cout.println(ze.getName());
  
        //illustrating getComment()
        ze.setComment("This is a comment");
        cout.println(ze.getComment());
  
        //illustrating setCompressedSize() and getCompressedSize()
        ze.setCompressedSize(23l);
        cout.println("CompressedSize of the entry = " + ze.getCompressedSize());
  
        //illustrating getSize() and setSize()
        ze.setSize(53l);
        cout.println("Size = " + ze.getSize());
  
        //illustrating getCrc() and setCrc()
        ze.setCrc(01);
        cout.println(ze.getCrc());
  
        //illustrating getMethod and setMethod
        ze.setMethod(ZipEntry.STORED);
        cout.println(ze.getMethod());
  
        //illustrating getCreation and setCreation()
        ze.setCreationTime(FileTime.from(10000, TimeUnit.DAYS));
        cout.println(ze.getCreationTime());
  
        //illustrating getLastAccessTime and setLastAccessTime
        ze.setLastAccessTime(FileTime.from(1000,TimeUnit.DAYS));
        cout.println(ze.getLastAccessTime());
  
        //illustrating clone()
        ZipEntry zeclone = (ZipEntry) ze.clone();
        cout.println(zeclone.getName());
  
        //illustrating isDirectory
        cout.println(ze.isDirectory());
  
        //illustrating hashcode()
        cout.println("hashcode = " + ze.hashCode());
    }
}


Output :

awesome-cv.cls
This is a comment
CompressedSize of the entry = 23
Size = 53
1
0
1997-05-19T00:00:00Z
1972-09-27T00:00:00Z
awesome-cv.cls
false
hashcode = 1687382489


Last Updated : 12 Sep, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads