Class ZipEntry
- All Implemented Interfaces:
Cloneable
- Direct Known Subclasses:
JarEntry
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
Central directory (CEN) header internal file attributes field offset.static final int
Central directory (CEN) header external file attributes field offset.static final int
Central directory (CEN) header comment length field offset.static final int
Central directory (CEN) header uncompressed file crc-32 value field offset.static final int
Central directory (CEN) header disk number start field offset.static final int
Central directory (CEN) header extra field length field offset.static final int
Central directory (CEN) header encrypt, decrypt flags field offset.static final int
Central directory (CEN) header size in bytes (including signature).static final int
Central directory (CEN) header compression method field offset.static final int
Central directory (CEN) header uncompressed size field offset.static final int
Central directory (CEN) header filename length field offset.static final int
Central directory (CEN) header LOC header offset field offset.static final long
Central directory (CEN) header signature.static final int
Central directory (CEN) header compressed size field offset.static final int
Central directory (CEN) header modification time field offset.static final int
Central directory (CEN) header version made by field offset.static final int
Central directory (CEN) header version needed to extract field offset.static final int
Compression method for compressed (deflated) entries.static final int
End of central directory (END) header ZIP file comment length field offset.static final int
End of central directory (END) header size in bytes (including signature).static final int
End of central directory (END) header offset for the first CEN header field offset.static final long
End of central directory (END) header signature.static final int
End of central directory (END) header central directory size in bytes field offset.static final int
End of central directory (END) header number of entries on this disk field offset.static final int
End of central directory (END) header total number of entries field offset.static final int
Extra local (EXT) header uncompressed file crc-32 value field offset.static final int
Extra local (EXT) header size in bytes (including signature).static final int
Extra local (EXT) header uncompressed size field offset.static final long
Extra local (EXT) header signature.static final int
Extra local (EXT) header compressed size field offset.static final int
Local file (LOC) header uncompressed file crc-32 value field offset.static final int
Local file (LOC) header extra field length field offset.static final int
Local file (LOC) header general purpose bit flag field offset.static final int
Local file (LOC) header size in bytes (including signature).static final int
Local file (LOC) header compression method field offset.static final int
Local file (LOC) header uncompressed size field offset.static final int
Local file (LOC) header filename length field offset.static final long
Local file (LOC) header signature.static final int
Local file (LOC) header compressed size field offset.static final int
Local file (LOC) header modification time field offset.static final int
Local file (LOC) header version needed to extract field offset.static final int
Compression method for uncompressed entries. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionclone()
Returns a copy of this entry.Returns the comment string for the entry.long
Returns the size of the compressed entry data.long
getCrc()
Returns the CRC-32 checksum of the uncompressed entry data.Returns the creation time of the entry.byte[]
getExtra()
Returns the extra field data for the entry.Returns the last access time of the entry.Returns the last modification time of the entry.int
Returns the compression method of the entry.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.Returns the last modification time of the entry in local date-time.int
hashCode()
Returns the hash code value for this entry.boolean
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.setCreationTime
(FileTime time) Sets the creation time of the entry.void
setExtra
(byte[] extra) Sets the optional extra field data for the entry.setLastAccessTime
(FileTime time) Sets the last access time of the entry.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.void
setTimeLocal
(LocalDateTime time) Sets the last modification time of the entry in local date-time.toString()
Returns a string representation of the ZIP entry.
-
Field Details
-
STORED
public static final int STOREDCompression method for uncompressed entries.- See Also:
-
DEFLATED
public static final int DEFLATEDCompression method for compressed (deflated) entries.- See Also:
-
LOCSIG
static final long LOCSIGLocal file (LOC) header signature.- See Also:
-
EXTSIG
static final long EXTSIGExtra local (EXT) header signature.- See Also:
-
CENSIG
static final long CENSIGCentral directory (CEN) header signature.- See Also:
-
ENDSIG
static final long ENDSIGEnd of central directory (END) header signature.- See Also:
-
LOCHDR
static final int LOCHDRLocal file (LOC) header size in bytes (including signature).- See Also:
-
EXTHDR
static final int EXTHDRExtra local (EXT) header size in bytes (including signature).- See Also:
-
CENHDR
static final int CENHDRCentral directory (CEN) header size in bytes (including signature).- See Also:
-
ENDHDR
static final int ENDHDREnd of central directory (END) header size in bytes (including signature).- See Also:
-
LOCVER
static final int LOCVERLocal file (LOC) header version needed to extract field offset.- See Also:
-
LOCFLG
static final int LOCFLGLocal file (LOC) header general purpose bit flag field offset.- See Also:
-
LOCHOW
static final int LOCHOWLocal file (LOC) header compression method field offset.- See Also:
-
LOCTIM
static final int LOCTIMLocal file (LOC) header modification time field offset.- See Also:
-
LOCCRC
static final int LOCCRCLocal file (LOC) header uncompressed file crc-32 value field offset.- See Also:
-
LOCSIZ
static final int LOCSIZLocal file (LOC) header compressed size field offset.- See Also:
-
LOCLEN
static final int LOCLENLocal file (LOC) header uncompressed size field offset.- See Also:
-
LOCNAM
static final int LOCNAMLocal file (LOC) header filename length field offset.- See Also:
-
LOCEXT
static final int LOCEXTLocal file (LOC) header extra field length field offset.- See Also:
-
EXTCRC
static final int EXTCRCExtra local (EXT) header uncompressed file crc-32 value field offset.- See Also:
-
EXTSIZ
static final int EXTSIZExtra local (EXT) header compressed size field offset.- See Also:
-
EXTLEN
static final int EXTLENExtra local (EXT) header uncompressed size field offset.- See Also:
-
CENVEM
static final int CENVEMCentral directory (CEN) header version made by field offset.- See Also:
-
CENVER
static final int CENVERCentral directory (CEN) header version needed to extract field offset.- See Also:
-
CENFLG
static final int CENFLGCentral directory (CEN) header encrypt, decrypt flags field offset.- See Also:
-
CENHOW
static final int CENHOWCentral directory (CEN) header compression method field offset.- See Also:
-
CENTIM
static final int CENTIMCentral directory (CEN) header modification time field offset.- See Also:
-
CENCRC
static final int CENCRCCentral directory (CEN) header uncompressed file crc-32 value field offset.- See Also:
-
CENSIZ
static final int CENSIZCentral directory (CEN) header compressed size field offset.- See Also:
-
CENLEN
static final int CENLENCentral directory (CEN) header uncompressed size field offset.- See Also:
-
CENNAM
static final int CENNAMCentral directory (CEN) header filename length field offset.- See Also:
-
CENEXT
static final int CENEXTCentral directory (CEN) header extra field length field offset.- See Also:
-
CENCOM
static final int CENCOMCentral directory (CEN) header comment length field offset.- See Also:
-
CENDSK
static final int CENDSKCentral directory (CEN) header disk number start field offset.- See Also:
-
CENATT
static final int CENATTCentral directory (CEN) header internal file attributes field offset.- See Also:
-
CENATX
static final int CENATXCentral directory (CEN) header external file attributes field offset.- See Also:
-
CENOFF
static final int CENOFFCentral directory (CEN) header LOC header offset field offset.- See Also:
-
ENDSUB
static final int ENDSUBEnd of central directory (END) header number of entries on this disk field offset.- See Also:
-
ENDTOT
static final int ENDTOTEnd of central directory (END) header total number of entries field offset.- See Also:
-
ENDSIZ
static final int ENDSIZEnd of central directory (END) header central directory size in bytes field offset.- See Also:
-
ENDOFF
static final int ENDOFFEnd of central directory (END) header offset for the first CEN header field offset.- See Also:
-
ENDCOM
static final int ENDCOMEnd of central directory (END) header ZIP file comment length field offset.- See Also:
-
-
Constructor Details
-
ZipEntry
Creates a new ZIP entry with the specified name.- Parameters:
name
- The entry name- Throws:
NullPointerException
- if the entry name is nullIllegalArgumentException
- if the combined length of the entry name and the CEN Header size exceeds 65,535 bytes.
-
ZipEntry
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
-
-
Method Details
-
getName
-
setTime
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 standardMS-DOS date and time format
. Thedefault TimeZone
is used to convert the epoch time to the MS-DOS date and time.- Parameters:
time
- The last modification time of the entry in milliseconds since the epoch- See Also:
-
getTime
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. Thedefault 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
- See Also:
-
setTimeLocal
Sets the last modification time of the entry in local date-time.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 standardMS-DOS date and time format
. If the date-time set is out of the range of the standardMS-DOS date and time format
, the time will also be stored into ZIP file entry's extended timestamp fields inoptional extra data
in UTC time. Thesystem default TimeZone
is used to convert the local date-time to UTC time.LocalDateTime
uses a precision of nanoseconds, whereas this class uses a precision of milliseconds. The conversion will truncate any excess precision information as though the amount in nanoseconds was subject to integer division by one million.- Parameters:
time
- The last modification time of the entry in local date-time- Throws:
NullPointerException
- iftime
is null- Since:
- 9
- See Also:
-
getTimeLocal
Returns the last modification time of the entry in local date-time.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 entry's standard MS-DOS formatteddate and time fields
.The
system default TimeZone
is used to convert the UTC time to local date-time.- Returns:
- The last modification time of the entry in local date-time
- Since:
- 9
- See Also:
-
setLastModifiedTime
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
instandard MS-DOS date and time format
), and the extended timestamp fields inoptional extra data
in UTC time.- Parameters:
time
- The last modification time of the entry- Returns:
- This ZIP entry
- Throws:
NullPointerException
- if thetime
is null- Since:
- 1.8
- See Also:
-
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'sdate and time fields
, thedefault 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
- Since:
- 1.8
- See Also:
-
setLastAccessTime
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 thetime
is null- Since:
- 1.8
- See Also:
-
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
- Since:
- 1.8
- See Also:
-
setCreationTime
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 thetime
is null- Since:
- 1.8
- See Also:
-
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
- Since:
- 1.8
- See Also:
-
setSize
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:
-
getSize
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:
-
getCompressedSize
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
- See Also:
-
setCompressedSize
public void setCompressedSize(long csize) Sets the size of the compressed entry data.- Parameters:
csize
- the compressed size to set- See Also:
-
setCrc
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:
-
getCrc
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:
-
setMethod
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:
-
getMethod
public int getMethod()Returns the compression method of the entry.- Returns:
- the compression method of the entry, or -1 if not specified
- See Also:
-
setExtra
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 asNTFS tag 0x0001
orInfo-ZIP Extended Timestamp
, as specified in Info-ZIP Application Note 970311.- Parameters:
extra
- The extra field data bytes- Throws:
IllegalArgumentException
- if the combined length of the specified extra field data, the entry name, the entry comment, and the CEN Header size exceeds 65,535 bytes.- See Also:
-
getExtra
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:
-
setComment
Sets the optional comment string for the entry.- Parameters:
comment
- the comment string- Throws:
IllegalArgumentException
- if the combined length of the specified entry comment, the entry name, the extra field data, and the CEN Header size exceeds 65,535 bytes.- See Also:
-
getComment
Returns the comment string for the entry.- Returns:
- the comment string for the entry, or null if none
- See Also:
-
isDirectory
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
-
toString
-
hashCode
-
clone
-