java.util.zip.ZipEntry翻译

 
JavaTM 2 Platform
Std. Ed. v1.4.2

java.util.zip
Class ZipEntry

java.lang.Object
  extended byjava.util.zip.ZipEntry
All Implemented Interfaces:
Cloneable , java.util.zip.ZipConstants
Direct Known Subclasses:
JarEntry

public class ZipEntry extends Object implements java.util.zip.ZipConstants, Cloneable

This class is used to represent a ZIP file entry. 该类用来表示ZIP文件项。


Field Summary
static intCENATT
           
static intCENATX
           
static intCENCOM
           
static intCENCRC
           
static intCENDSK
           
static intCENEXT
           
static intCENFLG
           
static intCENHDR
           
static intCENHOW
           
static intCENLEN
           
static intCENNAM
           
static intCENOFF
           
static longCENSIG
           
static intCENSIZ
           
static intCENTIM
           
static intCENVEM
           
static intCENVER
           
static intDEFLATED
          Compression method for compressed (deflated) entries. 压缩项(deflated)的压缩方法。
static intENDCOM
           
static intENDHDR
           
static intENDOFF
           
static longENDSIG
           
static intENDSIZ
           
static intENDSUB
           
static intENDTOT
           
static intEXTCRC
           
static intEXTHDR
           
static intEXTLEN
           
static longEXTSIG
           
static intEXTSIZ
           
static intLOCCRC
           
static intLOCEXT
           
static intLOCFLG
           
static intLOCHDR
           
static intLOCHOW
           
static intLOCLEN
           
static intLOCNAM
           
static longLOCSIG
           
static intLOCSIZ
           
static intLOCTIM
           
static intLOCVER
           
static intSTORED
          Compression method for uncompressed entries. 解压项的压缩方法。
 
Constructor Summary
ZipEntry(String name)
          Creates a new zip entry with the specified name. 创建一个指定名称的zip项。
ZipEntry(ZipEntry e)
          Creates a new zip entry with fields taken from the specified zip entry. 创建一个从指定zip项中取得域的zip项。
 
Method Summary
 Objectclone()
          Returns a copy of this entry. 返回项的拷贝。
 StringgetComment()
          Returns the comment string for the entry, or null if none. 返回项的注释字符串,如果没有,返回null。
 longgetCompressedSize()
          Returns the size of the compressed entry data, or -1 if not known. 返回已压缩的项数据大小,如果未知,返回-1。
 longgetCrc()
          Returns the CRC-32 checksum of the uncompressed entry data, or -1 if not known. 返回未压缩的项数据CRC-32校验和,如果未知,返回-1。
 byte[]getExtra()
          Returns the extra field data for the entry, or null if none. 返回项的额外字段数据,如果没有返回null。
 intgetMethod()
          Returns the compression method of the entry, or -1 if not specified. 返回项的压缩方法,如果未指定,返回-1。
 StringgetName()
          Returns the name of the entry. 返回项的名称。
 longgetSize()
          Returns the uncompressed size of the entry data, or -1 if not known. 返回未压缩的项数据大小,如果未知,返回-1。
 longgetTime()
          Returns the modification time of the entry, or -1 if not specified. 返回项的修改时间,如果未指定,返回-1。
 inthashCode()
          Returns the hash code value for this entry. 返回项的哈希码值。
 booleanisDirectory()
          Returns true if this is a directory entry. 如果此为目录项,返回true。
 voidsetComment(String comment)
          Sets the optional comment string for the entry. 设置项的可选注释字符串。
 voidsetCompressedSize(long csize)
          Sets the size of the compressed entry data. 设置压缩的项数据大小。
 voidsetCrc(long crc)
          Sets the CRC-32 checksum of the uncompressed entry data. 设置未压缩的项数据的CRC-32校验和。
 voidsetExtra(byte[] extra)
          Sets the optional extra field data for the entry. 设置项的可选额外字段数据。
 voidsetMethod(int method)
          Sets the compression method for the entry. 设置项的压缩方法。
 voidsetSize(long size)
          Sets the uncompressed size of the entry data. 设置未压缩的项数据大小。
 voidsetTime(long time)
          Sets the modification time of the entry. 设置项的修改时间。
 StringtoString()
          Returns a string representation of the ZIP entry. 返回ZIP项的字符串形式。
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

STORED

public static final int STORED
Compression method for uncompressed entries. 解压项的压缩方法。

See Also:
Constant Field Values

DEFLATED

public static final int DEFLATED
Compression method for compressed (deflated) entries. 压缩项(deflated)的压缩方法。

See Also:
Constant Field Values

LOCSIG

public static final long LOCSIG
See Also:
Constant Field Values

EXTSIG

public static final long EXTSIG
See Also:
Constant Field Values

CENSIG

public static final long CENSIG
See Also:
Constant Field Values

ENDSIG

public static final long ENDSIG
See Also:
Constant Field Values

LOCHDR

public static final int LOCHDR
See Also:
Constant Field Values

EXTHDR

public static final int EXTHDR
See Also:
Constant Field Values

CENHDR

public static final int CENHDR
See Also:
Constant Field Values

ENDHDR

public static final int ENDHDR
See Also:
Constant Field Values

LOCVER

public static final int LOCVER
See Also:
Constant Field Values

LOCFLG

public static final int LOCFLG
See Also:
Constant Field Values

LOCHOW

public static final int LOCHOW
See Also:
Constant Field Values

LOCTIM

public static final int LOCTIM
See Also:
Constant Field Values

LOCCRC

public static final int LOCCRC
See Also:
Constant Field Values

LOCSIZ

public static final int LOCSIZ
See Also:
Constant Field Values

LOCLEN

public static final int LOCLEN
See Also:
Constant Field Values

LOCNAM

public static final int LOCNAM
See Also:
Constant Field Values

LOCEXT

public static final int LOCEXT
See Also:
Constant Field Values

EXTCRC

public static final int EXTCRC
See Also:
Constant Field Values

EXTSIZ

public static final int EXTSIZ
See Also:
Constant Field Values

EXTLEN

public static final int EXTLEN
See Also:
Constant Field Values

CENVEM

public static final int CENVEM
See Also:
Constant Field Values

CENVER

public static final int CENVER
See Also:
Constant Field Values

CENFLG

public static final int CENFLG
See Also:
Constant Field Values

CENHOW

public static final int CENHOW
See Also:
Constant Field Values

CENTIM

public static final int CENTIM
See Also:
Constant Field Values

CENCRC

public static final int CENCRC
See Also:
Constant Field Values

CENSIZ

public static final int CENSIZ
See Also:
Constant Field Values

CENLEN

public static final int CENLEN
See Also:
Constant Field Values

CENNAM

public static final int CENNAM
See Also:
Constant Field Values

CENEXT

public static final int CENEXT
See Also:
Constant Field Values

CENCOM

public static final int CENCOM
See Also:
Constant Field Values

CENDSK

public static final int CENDSK
See Also:
Constant Field Values

CENATT

public static final int CENATT
See Also:
Constant Field Values

CENATX

public static final int CENATX
See Also:
Constant Field Values

CENOFF

public static final int CENOFF
See Also:
Constant Field Values

ENDSUB

public static final int ENDSUB
See Also:
Constant Field Values

ENDTOT

public static final int ENDTOT
See Also:
Constant Field Values

ENDSIZ

public static final int ENDSIZ
See Also:
Constant Field Values

ENDOFF

public static final int ENDOFF
See Also:
Constant Field Values

ENDCOM

public static final int ENDCOM
See Also:
Constant Field Values
Constructor Detail

ZipEntry

public ZipEntry(String name)
Creates a new zip entry with the specified name. 创建一个指定名称的zip项。

Parameters:
name - the entry name 项名称
Throws:
NullPointerException - if the entry name is null 如果项名称为null抛出
IllegalArgumentException - if the entry name is longer than 0xFFFF bytes 如果项名称长度大于0xFFFF字节数抛出

ZipEntry

public ZipEntry(ZipEntry e)
Creates a new zip entry with fields taken from the specified zip entry. 创建一个从指定zip项中取得域的zip项。

Parameters:
e - a zip Entry object zip项对象
Method Detail

getName

public String getName()
Returns the name of the entry. 返回项的名称。

Returns:
the name of the entry 项的名称

setTime

public void setTime(long time)
Sets the modification time of the entry. 设置项的修改时间。

Parameters:
time - the entry modification time in number of milliseconds since the epoch 从纪元开始的毫秒数表示的项修改时间
See Also:
getTime()

getTime

public long getTime()
Returns the modification time of the entry, or -1 if not specified. 返回项的修改时间,如果未指定,返回-1。

Returns:
the modification time of the entry, or -1 if not specified 项的修改时间,如果未指定,返回-1
See Also:
setTime(long)

setSize

public void setSize(long size)
Sets the uncompressed size of the entry data. 设置未压缩的项数据大小。

Parameters:
size - the uncompressed size in bytes 未压缩的字节数
Throws:
IllegalArgumentException - if the specified size is less than 0 or greater than 0xFFFFFFFF bytes 如果指定的大小小于0或者大于0xFFFFFFFF字节时抛出
See Also:
getSize()

getSize

public long getSize()
Returns the uncompressed size of the entry data, or -1 if not known. 返回未压缩的项数据大小,如果未知,返回-1。

Returns:
the uncompressed size of the entry data, or -1 if not known 未压缩的项数据大小,如果未知,返回-1
See Also:
setSize(long)

getCompressedSize

public long getCompressedSize()
Returns the size of the compressed entry data, or -1 if not known. In the case of a stored entry, the compressed size will be the same as the uncompressed size of the entry. 返回已压缩的项数据大小,如果未知,返回-1。在存储项的情况下,压缩尺寸将和未压缩项相同。

Returns:
the size of the compressed entry data, or -1 if not known 已压缩的项数据大小,如果未知,返回-1
See Also:
setCompressedSize(long)

setCompressedSize

public void setCompressedSize(long csize)
Sets the size of the compressed entry data. 设置压缩的项数据大小。

Parameters:
csize - the compressed size to set to 要设置的压缩尺寸
See Also:
getCompressedSize()

setCrc

public void setCrc(long crc)
Sets the CRC-32 checksum of the uncompressed entry data. 设置未压缩的项数据的CRC-32校验和。

Parameters:
crc - the CRC-32 value CRC-32值
Throws:
IllegalArgumentException - if the specified CRC-32 value is less than 0 or greater than 0xFFFFFFFF 如果指定的CRC-32值小于0或者大于0xFFFFFFFF时抛出
See Also:
setCrc(long)

getCrc

public long getCrc()
Returns the CRC-32 checksum of the uncompressed entry data, or -1 if not known. 返回未压缩的项数据CRC-32校验和,如果未知,返回-1。

Returns:
the CRC-32 checksum of the uncompressed entry data, or -1 if not known 未压缩的项数据CRC-32校验和,如果未知,返回-1
See Also:
getCrc()

setMethod

public void setMethod(int method)
Sets the compression method for the entry. 设置项的压缩方法。

Parameters:
method - the compression method, either STORED or DEFLATED 压缩方法,STORED或DEFLATED
Throws:
IllegalArgumentException - if the specified compression method is invalid  如果指定的压缩方法无效抛出
See Also:
getMethod()

getMethod

public int getMethod()
Returns the compression method of the entry, or -1 if not specified. 返回项的压缩方法,如果未指定,返回-1。

Returns:
the compression method of the entry, or -1 if not specified 项的压缩方法,如果未指定,返回-1
See Also:
setMethod(int)

setExtra

public void setExtra(byte[] extra)
Sets the optional extra field data for the entry. 设置项的可选额外字段数据。

Parameters:
extra - the extra field data bytes 额外字段数据
Throws:
IllegalArgumentException - if the length of the specified extra field data is greater than 0xFFFF bytes 如果指定的额外字段数据长度大于0xFFFF字节抛出
See Also:
getExtra()

getExtra

public byte[] getExtra()
Returns the extra field data for the entry, or null if none. 返回项的额外字段数据,如果没有返回null。

Returns:
the extra field data for the entry, or null if none 项的额外字段数据,如果没有返回null
See Also:
setExtra(byte[])

setComment

public void setComment(String comment)
Sets the optional comment string for the entry. 设置项的可选注释字符串。

Parameters:
comment - the comment string 注释字符串
Throws:
IllegalArgumentException - if the length of the specified comment string is greater than 0xFFFF bytes 如果指定的注释字符串长度大于0xFFFF字节抛出
See Also:
getComment()

getComment

public String getComment()
Returns the comment string for the entry, or null if none. 返回项的注释字符串,如果没有,返回null。

Returns:
the comment string for the entry, or null if none 项的注释字符串,如果没有,返回null
See Also:
setComment(String)

isDirectory

public boolean isDirectory()
Returns true if this is a directory entry. A directory entry is defined to be one whose name ends with a '/'. 如果此为目录项,返回true。目录项定义为名称以‘/’结尾。

Returns:
true if this is a directory entry 如果此为目录项,返回true

toString

public String toString()
Returns a string representation of the ZIP entry. 返回ZIP项的字符串形式。

Overrides:
toString in class Object
Returns:
a string representation of the object. 对象的字符串形式。

hashCode

public int hashCode()
Returns the hash code value for this entry. 返回项的哈希码值。

Overrides:
hashCode in class Object
Returns:
a hash code value for this object. 对象的哈希码值。
See Also:
Object.equals(java.lang.Object) , Hashtable

clone

public Object clone()
Returns a copy of this entry. 返回项的拷贝。

Overrides:
clone in class Object
Returns:
a clone of this instance. 实例的拷贝。
See Also:
Cloneable

JavaTM 2 Platform
Std. Ed. v1.4.2

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation . That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2003 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
出现 "java.util.zip.ZipException: no current ZIP entry" 错误通常是因为在创建 ZIP 文件时没有正确设置 ZIP 文件的当前条目。 在上述示例中,确保在将文件添加到 ZIP 文件中时,使用正确的 `putNextEntry` 方法来设置当前的 ZIP 条目。以下是修改后的示例代码: ```java import software.amazon.awssdk.services.s3.S3Client; import software.amazon.awssdk.services.s3.model.*; import java.io.*; import java.time.Instant; import java.time.temporal.ChronoUnit; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; public class S3FileFilterExample { public static void main(String[] args) throws IOException { S3Client s3Client = S3Client.builder() .region(Region.YOUR_REGION) .credentialsProvider(DefaultCredentialsProvider.create()) .build(); String bucketName = "your-bucket-name"; String folderPath = "your-folder-path"; Instant startTime = Instant.now().minus(1, ChronoUnit.DAYS); // 设置起始时间,这里设置为1天前 Instant endTime = Instant.now(); // 设置结束时间,这里设置为当前时间 ListObjectsV2Request listRequest = ListObjectsV2Request.builder() .bucket(bucketName) .prefix(folderPath) .build(); ListObjectsV2Response listResponse = s3Client.listObjectsV2(listRequest); File zipFile = new File("path/to/save/zip/file.zip"); try (ZipOutputStream zipOutputStream = new ZipOutputStream(new FileOutputStream(zipFile))) { for (S3Object s3Object : listResponse.contents()) { if (s3Object.lastModified().isAfter(startTime) && s3Object.lastModified().isBefore(endTime)) { GetObjectRequest getRequest = GetObjectRequest.builder() .bucket(bucketName) .key(s3Object.key()) .build(); ResponseBytes<GetObjectResponse> responseBytes = s3Client.getObjectAsBytes(getRequest); // 将文件添加到 ZIP 文件中 zipOutputStream.putNextEntry(new ZipEntry(s3Object.key())); zipOutputStream.write(responseBytes.asByteArray()); zipOutputStream.closeEntry(); } } } } } ``` 确保适当地调用 `zipOutputStream.putNextEntry` 来设置当前的 ZIP 条目,然后将文件内容写入 ZIP 文件中。这样可以避免 "no current ZIP entry" 错误。 如果你仍然遇到问题,请检查你的代码并确保正确设置了 ZIP 条目。另外,还要注意防止尝试使用空的 ZIP 条目进行写入操作。 希望这能解决你的问题!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值