当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Java.util.zip.ZipEntry用法及代码示例


此类用于表示 ZIP 文件条目。
构造函数

  • ZipEntry(字符串名称):创建具有指定名称的新 zip 条目。
  • ZipEntry(ZipEntry e):使用取自指定 zip 条目的字段创建新的 zip 条目。

方法:

  • 对象clone():返回此条目的副本。
    Syntax :public Object clone()
    Overrides:
    clone in class Object
    返回:
    a clone of this instance.
  • 字符串getComment():返回条目的注释字符串,如果没有则返回 null。
    Syntax :public String getComment()
    返回:
    the comment string for the entry, or null if none
  • 长getCompressedSize():返回压缩条目数据的大小,如果未知,则返回 -1。在存储条目的情况下,压缩大小将与条目的未压缩大小相同。
    Syntax :public long getCompressedSize()
    返回:
    the size of the compressed entry data, or -1 if not known
  • 长getCrc():返回未压缩条目数据的 CRC-32 校验和,如果未知则返回 -1。
    Syntax :public long getCrc()
    返回:
    the CRC-32 checksum of the uncompressed entry data, or -1 if not known
  • 字节[]getExtra():返回条目的额外字段数据,如果没有则返回 null。
    Syntax :=public byte[] getExtra()
    返回:
    the extra field data for the entry, or null if none
    
  • int getMethod():返回条目的压缩方法,如果未指定,则返回 -1。
    Syntax :public int getMethod()
    返回:
    the compression method of the entry, or -1 if not specified
  • 字符串getName():返回条目的名称。
    Syntax :public String getName()
    Returns:
    the name of the entry
    
  • 长getSize():返回条目数据的未压缩大小,如果未知则返回 -1。
    Syntax :public long getSize()
    返回:
    the uncompressed size of the entry data, or -1 if not know
  • 长getTime():返回条目的修改时间,如果未指定,则返回 -1。
    Syntax :public long getTime()
    返回:
    the modification time of the entry, or -1 if not specified
  • int hashCode():返回该条目的哈希码值。
    Syntax :public int hashCode()
    Overrides:
    hashCode in class Object
    返回:
    a hash code value for this object.
  • 布尔值isDirectory():如果这是一个目录条目,则返回 true。目录项被定义为名称以“/”结尾的目录项。
    Syntax :public boolean isDirectory()
    返回:
    true if this is a directory entry
  • void setComment(字符串注释):设置条目的可选注释字符串。ZIP 条目注释的最大长度为 0xffff。如果编码后指定注释字符串的长度大于 0xFFFF 字节,则仅将前 0xFFFF 字节输出到 ZIP 文件条目。
    Syntax :public void setComment(String comment)
    参数:
    comment - the comment string
  • 无效setCompressedSize(长csize):设置压缩条目数据的大小。
    Syntax :public void setCompressedSize(long csize)
    参数:
    csize - the compressed size to set to
  • 无效setCrc(长CRC):设置未压缩条目数据的 CRC-32 校验和。
    Syntax :public void setCrc(long crc)
    参数:
    crc - the CRC-32 value
    Throws:
    IllegalArgumentException
  • 无效setExtra(字节[]额外):设置条目的可选额外字段数据。
    Syntax :public void setExtra(byte[] extra)
    Parameters:
    extra - the extra field data bytes
    Throws:
    IllegalArgumentException
  • 无效setMethod(int方法):设置条目的压缩方法。
    Syntax :public void setMethod(int method)
    参数:
    method - the compression method, either STORED or DEFLATED
    Throws:
    IllegalArgumentException 
  • 无效setSize(长尺寸):设置条目数据的未压缩大小。
    Syntax :public void setSize(long size)
    Parameters:
    size - the uncompressed size in bytes
    Throws:
    IllegalArgumentException 
  • void setTime(长时间):设置条目的修改时间。
    Syntax :public void setTime(long time)
    Parameters:
    time - the entry modification time in number of milliseconds since the epoch
  • 字符串toString():返回 ZIP 条目的字符串表示形式。
    Syntax :public String toString()
    Overrides:
    toString in class Object
    Returns:
    a string representation of the object.

程序:


//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()); 
    } 
} 

输出:

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


相关用法


注:本文由纯净天空筛选整理自佚名大神的英文原创作品 Java.util.zip.ZipEntry class in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。