📜  Java Java类

📅  最后修改于: 2022-05-13 01:54:31.114000             🧑  作者: Mango

Java Java类

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

  • ZipEntry(String name) :创建一个具有指定名称的新 zip 条目。
  • ZipEntry(ZipEntry e) :创建一个新的 zip 条目,其字段取自指定的 zip 条目。

方法:

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