open class ZipEntry : Cloneable

Known Direct Subclasses

JarEntry

This class is used to represent a JAR file entry.

This class is used to represent a ZIP file entry.

Summary

Constants
static Int

Central directory (CEN) header internal file attributes field offset.

static Int

Central directory (CEN) header external file attributes field offset.

static Int

Central directory (CEN) header comment length field offset.

static Int

Central directory (CEN) header uncompressed file crc-32 value field offset.

static Int

Central directory (CEN) header disk number start field offset.

static Int

Central directory (CEN) header extra field length field offset.

static Int

Central directory (CEN) header encrypt, decrypt flags field offset.

static Int

Central directory (CEN) header size in bytes (including signature).

static Int

Central directory (CEN) header compression method field offset.

static Int

Central directory (CEN) header uncompressed size field offset.

static Int

Central directory (CEN) header filename length field offset.

static Int

Central directory (CEN) header LOC header offset field offset.

static Long

Central directory (CEN) header signature.

static Int

Central directory (CEN) header compressed size field offset.

static Int

Central directory (CEN) header modification time field offset.

static Int

Central directory (CEN) header version made by field offset.

static Int

Central directory (CEN) header version needed to extract field offset.

static Int

Compression method for compressed (deflated) entries.

static Int

End of central directory (END) header zip file comment length field offset.

static Int

End of central directory (END) header size in bytes (including signature).

static Int

End of central directory (END) header offset for the first CEN header field offset.

static Long

End of central directory (END) header signature.

static Int

End of central directory (END) header central directory size in bytes field offset.

static Int

End of central directory (END) header number of entries on this disk field offset.

static Int

End of central directory (END) header total number of entries field offset.

static Int

Extra local (EXT) header uncompressed file crc-32 value field offset.

static Int

Extra local (EXT) header size in bytes (including signature).

static Int

Extra local (EXT) header uncompressed size field offset.

static Long

Extra local (EXT) header signature.

static Int

Extra local (EXT) header compressed size field offset.

static Int

Local file (LOC) header uncompressed file crc-32 value field offset.

static Int

Local file (LOC) header extra field length field offset.

static Int

Local file (LOC) header general purpose bit flag field offset.

static Int

Local file (LOC) header size in bytes (including signature).

static Int

Local file (LOC) header compression method field offset.

static Int

Local file (LOC) header uncompressed size field offset.

static Int

Local file (LOC) header filename length field offset.

static Long

Local file (LOC) header signature.

static Int

Local file (LOC) header compressed size field offset.

static Int

Local file (LOC) header modification time field offset.

static Int

Local file (LOC) header version needed to extract field offset.

static Int

Compression method for uncompressed entries.

Public constructors

ZipEntry(name: String!)

Creates a new zip entry with the specified name.

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

Public methods
open Any

clone()

Returns a copy of this entry.

open String!

Returns the comment string for the entry.

open Long

Returns the size of the compressed entry data.

open Long

getCrc()

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

open FileTime!

Returns the creation time of the entry.

open ByteArray!

getExtra()

Returns the extra field data for the entry.

open FileTime!

Returns the last access time of the entry.

open FileTime!

Returns the last modification time of the entry.

open Int

getMethod()

Returns the compression method of the entry.

open String!

getName()

Returns the name of the entry.

open Long

getSize()

Returns the uncompressed size of the entry data.

open Long

getTime()

Returns the last modification time of the entry.

open LocalDateTime!

Returns the last modification time of the entry in local date-time.

open Int

hashCode()

Returns the hash code value for this entry.

open Boolean

Returns true if this is a directory entry.

open Unit

setComment(comment: String!)

Sets the optional comment string for the entry.

open Unit

Sets the size of the compressed entry data.

open Unit

setCrc(crc: Long)

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

open ZipEntry!

Sets the creation time of the entry.

open Unit

Sets the optional extra field data for the entry.

open ZipEntry!

Sets the last access time of the entry.

open ZipEntry!

Sets the last modification time of the entry.

open Unit

setMethod(method: Int)

Sets the compression method for the entry.

open Unit

setSize(size: Long)

Sets the uncompressed size of the entry data.

open Unit

setTime(time: Long)

Sets the last modification time of the entry.

open Unit

Sets the last modification time of the entry in local date-time.

open String

toString()

Returns a string representation of the ZIP entry.

Constants

CENATT

static val CENATT: Int

Central directory (CEN) header internal file attributes field offset.

Value: 36

CENATX

static val CENATX: Int

Central directory (CEN) header external file attributes field offset.

Value: 38

CENCOM

static val CENCOM: Int

Central directory (CEN) header comment length field offset.

Value: 32

CENCRC

static val CENCRC: Int

Central directory (CEN) header uncompressed file crc-32 value field offset.

Value: 16

CENDSK

static val CENDSK: Int

Central directory (CEN) header disk number start field offset.

Value: 34

CENEXT

static val CENEXT: Int

Central directory (CEN) header extra field length field offset.

Value: 30

CENFLG

static val CENFLG: Int

Central directory (CEN) header encrypt, decrypt flags field offset.

Value: 8

CENHDR

static val CENHDR: Int

Central directory (CEN) header size in bytes (including signature).

Value: 46

CENHOW

static val CENHOW: Int

Central directory (CEN) header compression method field offset.

Value: 10

CENLEN

static val CENLEN: Int

Central directory (CEN) header uncompressed size field offset.

Value: 24

CENNAM

static val CENNAM: Int

Central directory (CEN) header filename length field offset.

Value: 28

CENOFF

static val CENOFF: Int

Central directory (CEN) header LOC header offset field offset.

Value: 42

CENSIG

static val CENSIG: Long

Central directory (CEN) header signature.

Value: 33639248L

CENSIZ

static val CENSIZ: Int

Central directory (CEN) header compressed size field offset.

Value: 20

CENTIM

static val CENTIM: Int

Central directory (CEN) header modification time field offset.

Value: 12

CENVEM

static val CENVEM: Int

Central directory (CEN) header version made by field offset.

Value: 4

CENVER

static val CENVER: Int

Central directory (CEN) header version needed to extract field offset.

Value: 6

DEFLATED

static val DEFLATED: Int

Compression method for compressed (deflated) entries.

Value: 8

ENDCOM

static val ENDCOM: Int

End of central directory (END) header zip file comment length field offset.

Value: 20

ENDHDR

static val ENDHDR: Int

End of central directory (END) header size in bytes (including signature).

Value: 22

ENDOFF

static val ENDOFF: Int

End of central directory (END) header offset for the first CEN header field offset.

Value: 16

ENDSIG

static val ENDSIG: Long

End of central directory (END) header signature.

Value: 101010256L

ENDSIZ

static val ENDSIZ: Int

End of central directory (END) header central directory size in bytes field offset.

Value: 12

ENDSUB

static val ENDSUB: Int

End of central directory (END) header number of entries on this disk field offset.

Value: 8

ENDTOT

static val ENDTOT: Int

End of central directory (END) header total number of entries field offset.

Value: 10

EXTCRC

static val EXTCRC: Int

Extra local (EXT) header uncompressed file crc-32 value field offset.

Value: 4

EXTHDR

static val EXTHDR: Int

Extra local (EXT) header size in bytes (including signature).

Value: 16

EXTLEN

static val EXTLEN: Int

Extra local (EXT) header uncompressed size field offset.

Value: 12

EXTSIG

static val EXTSIG: Long

Extra local (EXT) header signature.

Value: 134695760L

EXTSIZ

static val EXTSIZ: Int

Extra local (EXT) header compressed size field offset.

Value: 8

LOCCRC

static val LOCCRC: Int

Local file (LOC) header uncompressed file crc-32 value field offset.

Value: 14

LOCEXT

static val LOCEXT: Int

Local file (LOC) header extra field length field offset.

Value: 28

LOCFLG

static val LOCFLG: Int

Local file (LOC) header general purpose bit flag field offset.

Value: 6

LOCHDR

static val LOCHDR: Int

Local file (LOC) header size in bytes (including signature).

Value: 30

LOCHOW

static val LOCHOW: Int

Local file (LOC) header compression method field offset.

Value: 8

LOCLEN

static val LOCLEN: Int

Local file (LOC) header uncompressed size field offset.

Value: 22

LOCNAM

static val LOCNAM: Int

Local file (LOC) header filename length field offset.

Value: 26

LOCSIG

static val LOCSIG: Long

Local file (LOC) header signature.

Value: 67324752L

LOCSIZ

static val LOCSIZ: Int

Local file (LOC) header compressed size field offset.

Value: 18

LOCTIM

static val LOCTIM: Int

Local file (LOC) header modification time field offset.

Value: 10

LOCVER

static val LOCVER: Int

Local file (LOC) header version needed to extract field offset.

Value: 4

STORED

static val STORED: Int

Compression method for uncompressed entries.

Value: 0

Public constructors

ZipEntry

ZipEntry(name: String!)

Creates a new zip entry with the specified name.

Parameters
name String!: The entry name
Exceptions
java.lang.IllegalArgumentException if the entry name is longer than 0xFFFF bytes
java.lang.NullPointerException if the entry name is null

ZipEntry

ZipEntry(e: ZipEntry!)

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

Parameters
e ZipEntry!: A zip Entry object
Exceptions
java.lang.NullPointerException if the entry object is null

Public methods

clone

open fun clone(): Any

Returns a copy of this entry.

Return
Any a clone of this instance.
Exceptions
java.lang.CloneNotSupportedException if the object's class does not support the Cloneable interface. Subclasses that override the clone method can also throw this exception to indicate that an instance cannot be cloned.
open fun getComment(): String!

Returns the comment string for the entry.

Return
String! the comment string for the entry, or null if none

getCompressedSize

open fun getCompressedSize(): Long

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.

Return
Long the size of the compressed entry data, or -1 if not known

getCrc

open fun getCrc(): Long

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

Return
Long the CRC-32 checksum of the uncompressed entry data, or -1 if not known

getCreationTime

open fun getCreationTime(): FileTime!

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.

Return
FileTime! the creation time of the entry, null if not specified
open fun getExtra(): ByteArray!

Returns the extra field data for the entry.

Return
ByteArray! the extra field data for the entry, or null if none

getLastAccessTime

open fun getLastAccessTime(): FileTime!

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.

Return
FileTime! The last access time of the entry, null if not specified

getLastModifiedTime

open fun getLastModifiedTime(): FileTime!

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.

Return
FileTime! The last modification time of the entry, null if not specified

getMethod

open fun getMethod(): Int

Returns the compression method of the entry.

Return
Int the compression method of the entry, or -1 if not specified

getName

open fun getName(): String!

Returns the name of the entry.

Return
String! the name of the entry

getSize

open fun getSize(): Long

Returns the uncompressed size of the entry data.

Return
Long the uncompressed size of the entry data, or -1 if not known

getTime

open fun getTime(): Long

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.

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

getTimeLocal

open fun getTimeLocal(): LocalDateTime!

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 formatted date and time fields.

The system default TimeZone is used to convert the UTC time to local date-time.

Return
LocalDateTime! The last modification time of the entry in local date-time

hashCode

open fun hashCode(): Int

Returns the hash code value for this entry.

Return
Int a hash code value for this object.

isDirectory

open fun isDirectory(): Boolean

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

Return
Boolean true if this is a directory entry
open fun setComment(: String!): Unit

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 String!: the comment string

setCompressedSize

open fun setCompressedSize(csize: Long): Unit

Sets the size of the compressed entry data.

Parameters
csize Long: the compressed size to set

setCrc

open fun setCrc(crc: Long): Unit

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

Parameters
crc Long: the CRC-32 value
Exceptions
java.lang.IllegalArgumentException if the specified CRC-32 value is less than 0 or greater than 0xFFFFFFFF

setCreationTime

open fun setCreationTime(time: FileTime!): ZipEntry!

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 FileTime!: The creation time of the entry
Return
ZipEntry! This zip entry
Exceptions
java.lang.NullPointerException if the time is null
open fun setExtra(: ByteArray!): Unit

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 ByteArray!: The extra field data bytes
Exceptions
java.lang.IllegalArgumentException if the length of the specified extra field data is greater than 0xFFFF bytes

setLastAccessTime

open fun setLastAccessTime(time: FileTime!): ZipEntry!

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 FileTime!: The last access time of the entry
Return
ZipEntry! This zip entry
Exceptions
java.lang.NullPointerException if the time is null

setLastModifiedTime

open fun setLastModifiedTime(time: FileTime!): ZipEntry!

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 FileTime!: The last modification time of the entry
Return
ZipEntry! This zip entry
Exceptions
java.lang.NullPointerException if the time is null

setMethod

open fun setMethod(method: Int): Unit

Sets the compression method for the entry.

Parameters
method Int: the compression method, either STORED or DEFLATED
Exceptions
java.lang.IllegalArgumentException if the specified compression method is invalid

setSize

open fun setSize(size: Long): Unit

Sets the uncompressed size of the entry data.

Parameters
size Long: the uncompressed size in bytes
Exceptions
java.lang.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

setTime

open fun setTime(time: Long): Unit

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 Long: The last modification time of the entry in milliseconds since the epoch

setTimeLocal

open fun setTimeLocal(time: LocalDateTime!): Unit

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 standard MS-DOS date and time format. If the date-time set is out of the range of the standard MS-DOS date and time format, the time will also be stored into zip file entry's extended timestamp fields in optional extra data in UTC time. The system 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 LocalDateTime!: The last modification time of the entry in local date-time

toString

open fun toString(): String

Returns a string representation of the ZIP entry.

Return
String a string representation of the object.

Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Last updated 2026-02-26 UTC.