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