ZipEntry

public class ZipEntry extends Object
implements Cloneable
Known Direct Subclasses

This class is used to represent a ZIP file entry.

Constant Summary

int CENATT
int CENATX
int CENCOM
int CENCRC
int CENDSK
int CENEXT
int CENFLG
int CENHDR
int CENHOW
int CENLEN
int CENNAM
int CENOFF
long CENSIG
int CENSIZ
int CENTIM
int CENVEM
int CENVER
int DEFLATED Compression method for compressed (deflated) entries.
long DOSTIME_BEFORE_1980 DOS time constant for representing timestamps before 1980.
int ENDCOM
int ENDHDR
int ENDOFF
long ENDSIG
int ENDSIZ
int ENDSUB
int ENDTOT
int EXTCRC
int EXTHDR
int EXTLEN
long EXTSIG
int EXTSIZ
int LOCCRC
int LOCEXT
int LOCFLG
int LOCHDR
int LOCHOW
int LOCLEN
int LOCNAM
long LOCSIG
int LOCSIZ
int LOCTIM
int LOCVER
int STORED Compression method for uncompressed entries.

Public Constructor Summary

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.

Public Method Summary

Object
clone()
Returns a copy of this entry.
String
getComment()
Returns the comment string for the entry.
long
getCompressedSize()
Returns the size of the compressed entry data.
long
getCrc()
Returns the CRC-32 checksum of the uncompressed entry data.
FileTime
getCreationTime()
Returns the creation time of the entry.
byte[]
getExtra()
Returns the extra field data for the entry.
FileTime
getLastAccessTime()
Returns the last access time of the entry.
FileTime
getLastModifiedTime()
Returns the last modification time of the entry.
int
getMethod()
Returns the compression method of the entry.
String
getName()
Returns the name of the entry.
long
getSize()
Returns the uncompressed size of the entry data.
long
getTime()
Returns the last modification time of the entry.
int
hashCode()
Returns the hash code value for this entry.
boolean
isDirectory()
Returns true if this is a directory entry.
void
setComment(String comment)
Sets the optional comment string for the entry.
void
setCompressedSize(long csize)
Sets the size of the compressed entry data.
void
setCrc(long crc)
Sets the CRC-32 checksum of the uncompressed entry data.
ZipEntry
setCreationTime(FileTime time)
Sets the creation time of the entry.
void
setExtra(byte[] extra)
Sets the optional extra field data for the entry.
ZipEntry
setLastAccessTime(FileTime time)
Sets the last access time of the entry.
ZipEntry
setLastModifiedTime(FileTime time)
Sets the last modification time of the entry.
void
setMethod(int method)
Sets the compression method for the entry.
void
setSize(long size)
Sets the uncompressed size of the entry data.
void
setTime(long time)
Sets the last modification time of the entry.
String
toString()
Returns a string representation of the ZIP entry.

Inherited Method Summary

Constants

public static final int CENATT

Constant Value: 36

public static final int CENATX

Constant Value: 38

public static final int CENCOM

Constant Value: 32

public static final int CENCRC

Constant Value: 16

public static final int CENDSK

Constant Value: 34

public static final int CENEXT

Constant Value: 30

public static final int CENFLG

Constant Value: 8

public static final int CENHDR

Constant Value: 46

public static final int CENHOW

Constant Value: 10

public static final int CENLEN

Constant Value: 24

public static final int CENNAM

Constant Value: 28

public static final int CENOFF

Constant Value: 42

public static final long CENSIG

Constant Value: 33639248

public static final int CENSIZ

Constant Value: 20

public static final int CENTIM

Constant Value: 12

public static final int CENVEM

Constant Value: 4

public static final int CENVER

Constant Value: 6

public static final int DEFLATED

Compression method for compressed (deflated) entries.

Constant Value: 8

public static final long DOSTIME_BEFORE_1980

DOS time constant for representing timestamps before 1980.

Constant Value: 2162688

public static final int ENDCOM

Constant Value: 20

public static final int ENDHDR

Constant Value: 22

public static final int ENDOFF

Constant Value: 16

public static final long ENDSIG

Constant Value: 101010256

public static final int ENDSIZ

Constant Value: 12

public static final int ENDSUB

Constant Value: 8

public static final int ENDTOT

Constant Value: 10

public static final int EXTCRC

Constant Value: 4

public static final int EXTHDR

Constant Value: 16

public static final int EXTLEN

Constant Value: 12

public static final long EXTSIG

Constant Value: 134695760

public static final int EXTSIZ

Constant Value: 8

public static final int LOCCRC

Constant Value: 14

public static final int LOCEXT

Constant Value: 28

public static final int LOCFLG

Constant Value: 6

public static final int LOCHDR

Constant Value: 30

public static final int LOCHOW

Constant Value: 8

public static final int LOCLEN

Constant Value: 22

public static final int LOCNAM

Constant Value: 26

public static final long LOCSIG

Constant Value: 67324752

public static final int LOCSIZ

Constant Value: 18

public static final int LOCTIM

Constant Value: 10

public static final int LOCVER

Constant Value: 4

public static final int STORED

Compression method for uncompressed entries.

Constant Value: 0

Public Constructors

public ZipEntry (String name)

Creates a new zip entry with the specified name.

Parameters
name The entry name
Throws
NullPointerException if the entry name is null
IllegalArgumentException if the entry name is longer than 0xFFFF bytes

public ZipEntry (ZipEntry e)

Creates a new zip entry with fields taken from the specified zip entry.

Parameters
e A zip Entry object
Throws
NullPointerException if the entry object is null

Public Methods

public Object clone ()

Returns a copy of this entry.

Returns
  • a copy of this object.

public String getComment ()

Returns the comment string for the entry.

Returns
  • the comment string for the entry, or null if none

public long getCompressedSize ()

Returns the size of the compressed entry data.

In the case of a stored entry, the compressed size will be the same as the uncompressed size of the entry.

Returns
  • the size of the compressed entry data, or -1 if not known

public long getCrc ()

Returns the CRC-32 checksum of the uncompressed entry data.

Returns
  • the CRC-32 checksum of the uncompressed entry data, or -1 if not known
See Also

public FileTime getCreationTime ()

Returns the creation time of the entry.

The creation time is from the extended timestamp fields of entry's optional extra data when read from a ZIP file or ZIP file formatted stream.

Returns
  • the creation time of the entry, null if not specified

public byte[] getExtra ()

Returns the extra field data for the entry.

Returns
  • the extra field data for the entry, or null if none
See Also

public FileTime getLastAccessTime ()

Returns the last access time of the entry.

The last access time is from the extended timestamp fields of entry's optional extra data when read from a ZIP file or ZIP file formatted stream.

Returns
  • The last access time of the entry, null if not specified

public FileTime getLastModifiedTime ()

Returns the last modification time of the entry.

If the entry is read from a ZIP file or ZIP file formatted input stream, this is the last modification time from the zip file entry's optional extra data if the extended timestamp fields are present. Otherwise the last modification time is read from the entry's date and time fields, the default TimeZone is used to convert the standard MS-DOS formatted date and time to the epoch time.

Returns
  • The last modification time of the entry, null if not specified

public int getMethod ()

Returns the compression method of the entry.

Returns
  • the compression method of the entry, or -1 if not specified
See Also

public String getName ()

Returns the name of the entry.

Returns
  • the name of the entry

public long getSize ()

Returns the uncompressed size of the entry data.

Returns
  • the uncompressed size of the entry data, or -1 if not known
See Also

public long getTime ()

Returns the last modification time of the entry.

If the entry is read from a ZIP file or ZIP file formatted input stream, this is the last modification time from the date and time fields of the zip file entry. The default TimeZone is used to convert the standard MS-DOS formatted date and time to the epoch time.

Returns
  • The last modification time of the entry in milliseconds since the epoch, or -1 if not specified

public int hashCode ()

Returns the hash code value for this entry.

Returns
  • this object's hash code.

public boolean isDirectory ()

Returns true if this is a directory entry. A directory entry is defined to be one whose name ends with a '/'.

Returns
  • true if this is a directory entry

public 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.

Parameters
comment the comment string
See Also

public void setCompressedSize (long csize)

Sets the size of the compressed entry data.

Parameters
csize the compressed size to set to

public void setCrc (long crc)

Sets the CRC-32 checksum of the uncompressed entry data.

Parameters
crc the CRC-32 value
Throws
IllegalArgumentException if the specified CRC-32 value is less than 0 or greater than 0xFFFFFFFF
See Also

public ZipEntry setCreationTime (FileTime time)

Sets the creation time of the entry.

If set, the creation time will be stored into the extended timestamp fields of entry's optional extra data, when output to a ZIP file or ZIP file formatted stream.

Parameters
time The creation time of the entry
Returns
  • This zip entry
Throws
NullPointerException if the time is null

public void setExtra (byte[] extra)

Sets the optional extra field data for the entry.

Invoking this method may change this entry's last modification time, last access time and creation time, if the extra field data includes the extensible timestamp fields, such as NTFS tag 0x0001 or Info-ZIP Extended Timestamp, as specified in Info-ZIP Application Note 970311.

Parameters
extra The extra field data bytes
Throws
IllegalArgumentException if the length of the specified extra field data is greater than 0xFFFF bytes
See Also

public ZipEntry setLastAccessTime (FileTime time)

Sets the last access time of the entry.

If set, the last access time will be stored into the extended timestamp fields of entry's optional extra data, when output to a ZIP file or ZIP file formatted stream.

Parameters
time The last access time of the entry
Returns
  • This zip entry
Throws
NullPointerException if the time is null

public ZipEntry setLastModifiedTime (FileTime time)

Sets the last modification time of the entry.

When output to a ZIP file or ZIP file formatted output stream the last modification time set by this method will be stored into zip file entry's date and time fields in standard MS-DOS date and time format), and the extended timestamp fields in optional extra data in UTC time.

Parameters
time The last modification time of the entry
Returns
  • This zip entry
Throws
NullPointerException if the time is null

public void setMethod (int method)

Sets the compression method for the entry.

Parameters
method the compression method, either STORED or DEFLATED
Throws
IllegalArgumentException if the specified compression method is invalid
See Also

public void setSize (long size)

Sets the uncompressed size of the entry data.

Parameters
size the uncompressed size in bytes
Throws
IllegalArgumentException if the specified size is less than 0, is greater than 0xFFFFFFFF when ZIP64 format is not supported, or is less than 0 when ZIP64 is supported
See Also

public void setTime (long time)

Sets the last modification time of the entry.

If the entry is output to a ZIP file or ZIP file formatted output stream the last modification time set by this method will be stored into the date and time fields of the zip file entry and encoded in standard MS-DOS date and time format. The default TimeZone is used to convert the epoch time to the MS-DOS data and time.

Parameters
time The last modification time of the entry in milliseconds since the epoch

public String toString ()

Returns a string representation of the ZIP entry.

Returns
  • a printable representation of this object.