模块 java.base

类 ZipEntry

java.lang.Object
java.util.zip.ZipEntry
所有已实现的接口:
Cloneable
已知子类:
JarEntry

public class ZipEntry extends Object implements Cloneable
此类用于表示 ZIP 文件条目。
自从:
1.1
  • 字段摘要

    字段
    修饰符和类型
    Field
    描述
    static final int
    中央目录 (CEN) 标头内部文件属性字段偏移量。
    static final int
    中央目录 (CEN) 标头外部文件属性字段偏移量。
    static final int
    中央目录 (CEN) 标头注释长度字段偏移量。
    static final int
    中央目录 (CEN) 标头未压缩文件 crc-32 值字段偏移量。
    static final int
    中央目录 (CEN) 头磁盘号起始字段偏移量。
    static final int
    中央目录 (CEN) 标头额外字段长度字段偏移量。
    static final int
    中央目录 (CEN) 标头加密、解密标志字段偏移量。
    static final int
    中央目录 (CEN) 标头大小(以字节为单位)(包括签名)。
    static final int
    中央目录 (CEN) 标头压缩方法字段偏移量。
    static final int
    中央目录 (CEN) 标头未压缩大小字段偏移量。
    static final int
    中央目录 (CEN) 头文件名长度字段偏移量。
    static final int
    中央目录 (CEN) 标头 LOC 标头偏移字段偏移量。
    static final long
    中央目录 (CEN) 标头签名。
    static final int
    中央目录 (CEN) 标头压缩大小字段偏移量。
    static final int
    中央目录 (CEN) 报头修改时间字段偏移量。
    static final int
    由字段偏移制作的中央目录 (CEN) 标头版本。
    static final int
    提取字段偏移量所需的中央目录 (CEN) 标头版本。
    static final int
    压缩(缩小)条目的压缩方法。
    static final int
    中央目录结束 (END) 头 zip 文件注释长度字段偏移量。
    static final int
    中央目录 (END) 标头大小的结尾(以字节为单位)(包括签名)。
    static final int
    第一个 CEN 标头字段偏移量的中央目录结束 (END) 标头偏移量。
    static final long
    中央目录结束 (END) 标头签名。
    static final int
    中央目录结束 (END) 标头中央目录大小(字节字段偏移量)。
    static final int
    中央目录结束 (END) 标头中此磁盘字段偏移量的条目数。
    static final int
    中央目录结束 (END) 标头条目总数字段偏移量。
    static final int
    额外的本地 (EXT) 标头未压缩文件 crc-32 值字段偏移量。
    static final int
    以字节为单位的额外本地 (EXT) 标头大小(包括签名)。
    static final int
    额外的本地 (EXT) 标头未压缩大小字段偏移量。
    static final long
    额外的本地 (EXT) 标头签名。
    static final int
    额外本地 (EXT) 标头压缩大小字段偏移量。
    static final int
    本地文件 (LOC) 标头未压缩文件 crc-32 值字段偏移量。
    static final int
    本地文件 (LOC) 标头额外字段长度字段偏移量。
    static final int
    本地文件 (LOC) 标头通用位标志字段偏移量。
    static final int
    以字节为单位的本地文件 (LOC) 标头大小(包括签名)。
    static final int
    本地文件 (LOC) 标头压缩方法字段偏移量。
    static final int
    本地文件 (LOC) 标头未压缩大小字段偏移量。
    static final int
    本地文件 (LOC) 头文件名长度字段偏移量。
    static final long
    本地文件 (LOC) 标头签名。
    static final int
    本地文件 (LOC) 标头压缩大小字段偏移量。
    static final int
    本地文件 (LOC) 头修改时间字段偏移量。
    static final int
    提取字段偏移量所需的本地文件 (LOC) 标头版本。
    static final int
    未压缩条目的压缩方法。
  • 构造方法总结

    构造方法
    构造方法
    描述
    创建具有指定名称的新 zip 条目。
    使用取自指定 zip 条目的字段创建一个新的 zip 条目。
  • 方法总结

    修饰符和类型
    方法
    描述
    返回此条目的副本。
    返回条目的注释字符串。
    long
    返回压缩条目数据的大小。
    long
    返回未压缩条目数据的 CRC-32 校验和。
    返回条目的创建时间。
    byte[]
    返回条目的额外字段数据。
    返回条目的最后访问时间。
    返回条目的最后修改时间。
    int
    返回条目的压缩方法。
    返回条目的名称。
    long
    返回条目数据的未压缩大小。
    long
    返回条目的最后修改时间。
    以本地日期时间返回条目的最后修改时间。
    int
    返回此条目的哈希码值。
    boolean
    如果这是目录条目,则返回 true。
    void
    setComment(String comment)
    为条目设置可选的注释字符串。
    void
    setCompressedSize(long csize)
    设置压缩条目数据的大小。
    void
    setCrc(long crc)
    设置未压缩条目数据的 CRC-32 校验和。
    设置条目的创建时间。
    void
    setExtra(byte[] extra)
    为条目设置可选的额外字段数据。
    设置条目的最后访问时间。
    设置条目的最后修改时间。
    void
    setMethod(int method)
    设置条目的压缩方法。
    void
    setSize(long size)
    设置条目数据的未压缩大小。
    void
    setTime(long time)
    设置条目的最后修改时间。
    void
    以本地日期时间设置条目的最后修改时间。
    返回 ZIP 条目的字符串表示形式。

    在类 java.lang.Object 中声明的方法

    equals, finalize, getClass, notify, notifyAll, wait, wait, wait
  • 字段详细信息

    • STORED

      public static final int STORED
      未压缩条目的压缩方法。
      参见:
    • DEFLATED

      public static final int DEFLATED
      压缩(缩小)条目的压缩方法。
      参见:
    • LOCSIG

      static final long LOCSIG
      本地文件 (LOC) 标头签名。
      参见:
    • EXTSIG

      static final long EXTSIG
      额外的本地 (EXT) 标头签名。
      参见:
    • CENSIG

      static final long CENSIG
      中央目录 (CEN) 标头签名。
      参见:
    • ENDSIG

      static final long ENDSIG
      中央目录结束 (END) 标头签名。
      参见:
    • LOCHDR

      static final int LOCHDR
      以字节为单位的本地文件 (LOC) 标头大小(包括签名)。
      参见:
    • EXTHDR

      static final int EXTHDR
      以字节为单位的额外本地 (EXT) 标头大小(包括签名)。
      参见:
    • CENHDR

      static final int CENHDR
      中央目录 (CEN) 标头大小(以字节为单位)(包括签名)。
      参见:
    • ENDHDR

      static final int ENDHDR
      中央目录 (END) 标头大小的结尾(以字节为单位)(包括签名)。
      参见:
    • LOCVER

      static final int LOCVER
      提取字段偏移量所需的本地文件 (LOC) 标头版本。
      参见:
    • LOCFLG

      static final int LOCFLG
      本地文件 (LOC) 标头通用位标志字段偏移量。
      参见:
    • LOCHOW

      static final int LOCHOW
      本地文件 (LOC) 标头压缩方法字段偏移量。
      参见:
    • LOCTIM

      static final int LOCTIM
      本地文件 (LOC) 头修改时间字段偏移量。
      参见:
    • LOCCRC

      static final int LOCCRC
      本地文件 (LOC) 标头未压缩文件 crc-32 值字段偏移量。
      参见:
    • LOCSIZ

      static final int LOCSIZ
      本地文件 (LOC) 标头压缩大小字段偏移量。
      参见:
    • LOCLEN

      static final int LOCLEN
      本地文件 (LOC) 标头未压缩大小字段偏移量。
      参见:
    • LOCNAM

      static final int LOCNAM
      本地文件 (LOC) 头文件名长度字段偏移量。
      参见:
    • LOCEXT

      static final int LOCEXT
      本地文件 (LOC) 标头额外字段长度字段偏移量。
      参见:
    • EXTCRC

      static final int EXTCRC
      额外的本地 (EXT) 标头未压缩文件 crc-32 值字段偏移量。
      参见:
    • EXTSIZ

      static final int EXTSIZ
      额外本地 (EXT) 标头压缩大小字段偏移量。
      参见:
    • EXTLEN

      static final int EXTLEN
      额外的本地 (EXT) 标头未压缩大小字段偏移量。
      参见:
    • CENVEM

      static final int CENVEM
      由字段偏移制作的中央目录 (CEN) 标头版本。
      参见:
    • CENVER

      static final int CENVER
      提取字段偏移量所需的中央目录 (CEN) 标头版本。
      参见:
    • CENFLG

      static final int CENFLG
      中央目录 (CEN) 标头加密、解密标志字段偏移量。
      参见:
    • CENHOW

      static final int CENHOW
      中央目录 (CEN) 标头压缩方法字段偏移量。
      参见:
    • CENTIM

      static final int CENTIM
      中央目录 (CEN) 报头修改时间字段偏移量。
      参见:
    • CENCRC

      static final int CENCRC
      中央目录 (CEN) 标头未压缩文件 crc-32 值字段偏移量。
      参见:
    • CENSIZ

      static final int CENSIZ
      中央目录 (CEN) 标头压缩大小字段偏移量。
      参见:
    • CENLEN

      static final int CENLEN
      中央目录 (CEN) 标头未压缩大小字段偏移量。
      参见:
    • CENNAM

      static final int CENNAM
      中央目录 (CEN) 头文件名长度字段偏移量。
      参见:
    • CENEXT

      static final int CENEXT
      中央目录 (CEN) 标头额外字段长度字段偏移量。
      参见:
    • CENCOM

      static final int CENCOM
      中央目录 (CEN) 标头注释长度字段偏移量。
      参见:
    • CENDSK

      static final int CENDSK
      中央目录 (CEN) 头磁盘号起始字段偏移量。
      参见:
    • CENATT

      static final int CENATT
      中央目录 (CEN) 标头内部文件属性字段偏移量。
      参见:
    • CENATX

      static final int CENATX
      中央目录 (CEN) 标头外部文件属性字段偏移量。
      参见:
    • CENOFF

      static final int CENOFF
      中央目录 (CEN) 标头 LOC 标头偏移字段偏移量。
      参见:
    • ENDSUB

      static final int ENDSUB
      中央目录结束 (END) 标头中此磁盘字段偏移量的条目数。
      参见:
    • ENDTOT

      static final int ENDTOT
      中央目录结束 (END) 标头条目总数字段偏移量。
      参见:
    • ENDSIZ

      static final int ENDSIZ
      中央目录结束 (END) 标头中央目录大小(字节字段偏移量)。
      参见:
    • ENDOFF

      static final int ENDOFF
      第一个 CEN 标头字段偏移量的中央目录结束 (END) 标头偏移量。
      参见:
    • ENDCOM

      static final int ENDCOM
      中央目录结束 (END) 头 zip 文件注释长度字段偏移量。
      参见:
  • 构造方法详细信息

    • ZipEntry

      public ZipEntry(String  name)
      创建具有指定名称的新 zip 条目。
      参数:
      name - 条目名称
      抛出:
      NullPointerException - 如果条目名称为空
      IllegalArgumentException - 如果条目名称长于 0xFFFF 字节
    • ZipEntry

      public ZipEntry(ZipEntry  e)
      使用取自指定 zip 条目的字段创建一个新的 zip 条目。
      参数:
      e - 一个 zip 条目对象
      抛出:
      NullPointerException - 如果条目对象为空
  • 方法详情

    • getName

      public String  getName()
      返回条目的名称。
      返回:
      条目的名称
    • setTime

      public void setTime(long time)
      设置条目的最后修改时间。

      如果条目输出到 ZIP 文件或 ZIP 文件格式的输出流,则此方法设置的最后修改时间将存储到 zip 文件条目的 date and time fields 中,并以标准 MS-DOS date and time format 编码。 default TimeZone 用于将纪元时间转换为 MS-DOS 日期和时间。

      参数:
      time - 自纪元以来条目的最后修改时间(以毫秒为单位)
      参见:
    • getTime

      public long getTime()
      返回条目的最后修改时间。

      如果条目是从 ZIP 文件或 ZIP 文件格式的输入流中读取的,则这是来自 zip 文件条目的 date and time fields 的最后修改时间。 default TimeZone 用于将标准 MS-DOS 格式的日期和时间转换为纪元时间。

      返回:
      自纪元以来条目的最后修改时间(以毫秒为单位),如果未指定,则为 -1
      参见:
    • setTimeLocal

      public void setTimeLocal(LocalDateTime  time)
      以本地日期时间设置条目的最后修改时间。

      如果条目输出到 ZIP 文件或 ZIP 文件格式的输出流,则此方法设置的最后修改时间将存储到 zip 文件条目的 date and time fields 中,并以标准 MS-DOS date and time format 编码。如果日期时间集超出标准 MS-DOS date and time format 的范围,时间也将以 UTC 时间存储到 optional extra data 中的 zip 文件条目的扩展时间戳字段中。 system default TimeZone 用于将本地日期时间转换为 UTC 时间。

      LocalDateTime 使用纳秒精度,而此类使用毫秒精度。转换将截断任何多余的精度信息,就好像以纳秒为单位的数量被整数除以一百万。

      参数:
      time - 本地日期时间条目的最后修改时间
      自从:
      9
      参见:
    • getTimeLocal

      public LocalDateTime  getTimeLocal()
      以本地日期时间返回条目的最后修改时间。

      如果条目是从 ZIP 文件或 ZIP 文件格式的输入流中读取的,如果存在扩展时间戳字段,则这是来自 zip 文件条目的 optional extra data 的最后修改时间。否则,从条目的标准 MS-DOS 格式 date and time fields 中读取最后修改时间。

      system default TimeZone 用于将 UTC 时间转换为本地日期时间。

      返回:
      本地日期时间条目的最后修改时间
      自从:
      9
      参见:
    • setLastModifiedTime

      public ZipEntry  setLastModifiedTime(FileTime  time)
      设置条目的最后修改时间。

      当输出到 ZIP 文件或 ZIP 文件格式的输出流时,此方法设置的最后修改时间将存储到 zip 文件条目的 standard MS-DOS date and time format 中的 date and time fields,以及 UTC 时间的optional extra data 中的扩展时间戳字段。

      参数:
      time - 条目的最后修改时间
      返回:
      这个 zip 条目
      抛出:
      NullPointerException - 如果 time 为空
      自从:
      1.8
      参见:
    • getLastModifiedTime

      public FileTime  getLastModifiedTime()
      返回条目的最后修改时间。

      如果条目是从 ZIP 文件或 ZIP 文件格式的输入流中读取的,如果存在扩展时间戳字段,则这是来自 zip 文件条目的 optional extra data 的最后修改时间。否则,从条目的 date and time fields 读取最后修改时间, default TimeZone 用于将标准 MS-DOS 格式的日期和时间转换为纪元时间。

      返回:
      条目的最后修改时间,不指定则为null
      自从:
      1.8
      参见:
    • setLastAccessTime

      public ZipEntry  setLastAccessTime(FileTime  time)
      设置条目的最后访问时间。

      如果设置,当输出到 ZIP 文件或 ZIP 文件格式的流时,最后访问时间将存储到条目的 optional extra data 的扩展时间戳字段中。

      参数:
      time - 条目的最后访问时间
      返回:
      这个 zip 条目
      抛出:
      NullPointerException - 如果 time 为空
      自从:
      1.8
      参见:
    • getLastAccessTime

      public FileTime  getLastAccessTime()
      返回条目的最后访问时间。

      当从 ZIP 文件或 ZIP 文件格式的流中读取时,最后访问时间来自条目的 optional extra data 的扩展时间戳字段。

      返回:
      条目的最后一次访问时间,如果不指定则为空
      自从:
      1.8
      参见:
    • setCreationTime

      public ZipEntry  setCreationTime(FileTime  time)
      设置条目的创建时间。

      如果设置,当输出到 ZIP 文件或 ZIP 文件格式的流时,创建时间将存储到条目的 optional extra data 的扩展时间戳字段中。

      参数:
      time - 条目的创建时间
      返回:
      这个 zip 条目
      抛出:
      NullPointerException - 如果 time 为空
      自从:
      1.8
      参见:
    • getCreationTime

      public FileTime  getCreationTime()
      返回条目的创建时间。

      当从 ZIP 文件或 ZIP 文件格式的流中读取时,创建时间来自条目的 optional extra data 的扩展时间戳字段。

      返回:
      条目的创建时间,如果不指定则为空
      自从:
      1.8
      参见:
    • setSize

      public void setSize(long size)
      设置条目数据的未压缩大小。
      参数:
      size - 以字节为单位的未压缩大小
      抛出:
      IllegalArgumentException - 如果指定大小小于 0,则在不支持 ZIP64 格式 时大于 0xFFFFFFFF,或者在支持 ZIP64 时小于 0
      参见:
    • getSize

      public long getSize()
      返回条目数据的未压缩大小。
      返回:
      条目数据的未压缩大小,如果不知道则为 -1
      参见:
    • getCompressedSize

      public long getCompressedSize()
      返回压缩条目数据的大小。

      在存储条目的情况下,压缩大小将与条目的未压缩大小相同。

      返回:
      压缩条目数据的大小,如果未知则为 -1
      参见:
    • setCompressedSize

      public void setCompressedSize(long csize)
      设置压缩条目数据的大小。
      参数:
      csize - 要设置的压缩大小
      参见:
    • setCrc

      public void setCrc(long crc)
      设置未压缩条目数据的 CRC-32 校验和。
      参数:
      crc - CRC-32 值
      抛出:
      IllegalArgumentException - 如果指定的 CRC-32 值小于 0 或大于 0xFFFFFFFF
      参见:
    • getCrc

      public long getCrc()
      返回未压缩条目数据的 CRC-32 校验和。
      返回:
      未压缩条目数据的 CRC-32 校验和,如果未知则为 -1
      参见:
    • setMethod

      public void setMethod(int method)
      设置条目的压缩方法。
      参数:
      method - 压缩方法,STORED 或 DEFLATED
      抛出:
      IllegalArgumentException - 如果指定的压缩方法无效
      参见:
    • getMethod

      public int getMethod()
      返回条目的压缩方法。
      返回:
      条目的压缩方法,如果未指定,则为 -1
      参见:
    • setExtra

      public void setExtra(byte[] extra)
      为条目设置可选的额外字段数据。

      如果 extra 字段数据包含可扩展时间戳字段,例如 NTFS tag 0x0001Info-ZIP Extended Timestamp ,如 Info-ZIP 应用说明 970311 中所指定,则调用此方法可能会更改此条目的最后修改时间、最后访问时间和创建时间。

      参数:
      extra - 额外字段数据字节
      抛出:
      IllegalArgumentException - 如果指定的额外字段数据的长度大于 0xFFFF 字节
      参见:
    • getExtra

      public byte[] getExtra()
      返回条目的额外字段数据。
      返回:
      条目的额外字段数据,如果没有则为 null
      参见:
    • setComment

      public void setComment(String  comment)
      为条目设置可选的注释字符串。

      ZIP 条目注释的最大长度为 0xffff。如果指定注释字符串的长度在编码后大于 0xFFFF 字节,则只将前 0xFFFF 字节输出到 ZIP 文件入口。

      参数:
      comment - 注释字符串
      参见:
    • getComment

      public String  getComment()
      返回条目的注释字符串。
      返回:
      条目的注释字符串,如果没有则为 null
      参见:
    • isDirectory

      public boolean isDirectory()
      如果这是目录条目,则返回 true。目录条目被定义为名称以“/”结尾的条目。
      返回:
      如果这是一个目录项则为真
    • toString

      public String  toString()
      返回 ZIP 条目的字符串表示形式。
      重写:
      toString 在类 Object
      返回:
      对象的字符串表示形式。
    • hashCode

      public int hashCode()
      返回此条目的哈希码值。
      重写:
      hashCode 在类 Object
      返回:
      此对象的哈希码值。
      参见:
    • clone

      public Object  clone()
      返回此条目的副本。
      重写:
      clone 在类 Object
      返回:
      此实例的克隆。
      参见: