前几天项目需要用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最算固定了。