记一下两个内容相同的目录,打包zip后md5不一致的问题和各种测试
## mac系统
1.zip文件会在打包时,写入文件的access time,这个时间的变化导致zip后的文件内容不一致。
2. zip -X 忽略文件的时间戳,对单文件可用,对目录不可用,需要修改atime后再试
3. 修改atime后,打包完还是不一样。查了一遍,修改完之后,atime会悄悄的编程当前的时间的时间戳。结论:spotlight 服务访问了文件导致文件的atime又变了。
4. 可以在spotlight里设置忽略目录解决问题
5. 因为做工具需要多平台多人可用,放弃这些不能通用的方案,直接改成,从zip读取文件列表,然后读取各个文件的内容做hash应该是没有问题的。需要测试一下。
贴一个java的代码,但是我不是,所以还得自己尝试。
https://github.com/srikanth-lingala/zip4j/issues/159
过程中参考的帖子: