使用java将使用java.util.zip创建的zip大小与原始文件夹大小进行比较

时间:2013-06-27 02:54:09

标签: java zip zipfile

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

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

谢谢:)

2 个答案:

答案 0 :(得分: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();
    ....
}

答案 1 :(得分: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();

现在你可以比较它们了。