java的zip库使用注意事项

时间:2021-03-17 15:10:32

前几天项目需要用zip压缩一批文件,要求只要文件内容不变,最终的zip文件的md5也不变,但是我们的文件即使内容不变,也可能会生成新的。

然后再使用zip库的过程中发现,对于最终的zip文件的md5一直在变,发现是下面的问题

    ZipEntry entry = new ZipEntry(subPath);  
zos.putNextEntry(entry);

这里的entry默认的时间是生成entry的时间,正常应该设置成文件的创建时间,但我们的文件时间可能变化,固需要设置成一个固定值,如下:

    ZipEntry entry = new ZipEntry(subPath);  
entry.setTime(0);
zos.putNextEntry(entry);

最终的zip文件的md5最算固定了。