5

我不确定我的概念是否正确,但我知道我们可以通过获取每个条目的 CRC 值来验证 zip 中文件的完整性。但是,我的问题是,如果我得到一个 zip 文件,是否会有 CRC,如果有,我该如何确定?

4

2 回答 2

6

您可以使用它java.util.zip.CRC32来计算任何数据流的 CRC-32 校验和。

BufferedInputStream bis = new BufferedInputStream(
                          new FileInputStream(new File("/path/to/file.zip"))); 
int read = 0;
CRC32 checksum = new CRC32();
byte[] buffer = new byte[1024];
while ((read = bis.read(buffer)) != -1) {
    checksum.update(buffer, 0, read);
}
bis.close();
System.out.println ("CRC32 of your zip is: " + checksum.getValue());
于 2013-06-21T00:34:04.667 回答
3

您可以使用包中类中的checksumCRC32方法。FileUtilsorg.apache.commons.io

于 2013-06-21T00:25:18.267 回答