我有一个 example.jar 文件。 我正在尝试更新 jar 中的类文件。 当我使用 jar 或 zip 实用程序打包类文件时(命令行-linux)
I tried :
jar uf my MyJarFile.jar MyclassFile.class
zip -u my MyJarFile.jar MyclassFile.class
我得到了一些假设 XXYYZZ 的校验和。
但是当我使用 7zip(GUI) 在 Windows 中打包相同的类文件时,我得到不同的校验和,如 MMNNOO。 这是因为压缩比发生了变化。我的意思是大小也不同。
现在我的问题是如何实现相同的压缩比即相同的校验和。
提前致谢
最佳答案
这是由于两种不同实现中文件的排序、优先级和相似方式略有不同。
即使压缩算法完全相同,操作系统和工具差异也会产生不同的输出。
强制输出相同的结果将具有挑战性,但并非不可能。也许尝试一下 Java 中的压缩功能,同时强制使用完全相同的文件编码?
关于linux - 如何在linux和windows下实现相同的压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31877512/