linux - 如何在linux和windows下实现相同的压缩

标签 linux windows jar zip unzip

我有一个 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/

相关文章:

linux - 如何在 linux 上找到所有基本上是其他目录或文件的软链接(soft link)或硬链接(hard link)的文件?

node.js - 如何从 Windows 中完全删除 node.js

java - IntelliJ to jar 给出 "java.lang.NullPointerException: Location is required."

java - BIRT NoClassDefFoundError

arrays - Bash:如何声明空数组,然后向其中添加变量

c - 为什么我无法重定向 gcc -H 的输出

windows - 批量删除文本文件中的一行?

java - Eclipse IDE制作的jar中的音频文件

linux - 检查 bash 脚本上的特定端口是否有字符串数据

mysql - 查找MySql服务器实例的windows服务名