0

我刚刚使用 java.util.zip 创建了一个 Zip 文件。现在我想检查创建的 ZIP 是否正确,以及 ZIP 文件的未压缩大小是否等于我压缩的实际文件夹。

我知道一个方法 ZipFile.isValid() 如果 ZIP 中的所有标题都正确,它会返回 true。虽然不能解决我的问题。

谢谢 :)

4

2 回答 2

0

解压缩 *.zip 文件,遍历每个 ZipEntry 元素,对每个 ZipEntry.getSize() 求和。将此与您压缩的文件大小的总和进行比较。或者(如果您出于某种原因不信任 ZipEntry 标头)解压缩每个 ZipEntry,计算字节数,但丢弃它们。您可能会做这些事情中的任何一个,例如快速检查您的邮政编码,或者甚至可能在单元测试中。

因此,您可以遍历 ZipEntry:

zipInStream = new ZipInputStream(new FileInputStream(zipFile));
ZipEntry zipEntry;
while ((zipEntry = zipInStream.getNextJarEntry()) != null) {
    String entryName = zipEntry.getName();
    ....
}
于 2013-06-27T03:01:22.833 回答
0

检查 ZIP 文件是否正确创建

if (myZipFile.isValid())
{
    // The file has been created successfully
}

知道目录和文件的长度。

File dir = new File("path/to/the/directory/");
int size = dir.length();

File zip = new File("path/to/zipfile.zip");
int zipSize = zip.length();

现在你可以比较它们了。

于 2013-06-27T03:02:10.737 回答