當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。