<分区>
是否有 VCDIFF 二进制差异格式(解码器和编码器)的开源 Java 实现?
有xdelta和 open-vcdiff ,但它们都是 C 库。
或者,是否可以使用其他格式/算法从 Java 生成二进制文件差异?
<分区>
是否有 VCDIFF 二进制差异格式(解码器和编码器)的开源 Java 实现?
有xdelta和 open-vcdiff ,但它们都是 C 库。
或者,是否可以使用其他格式/算法从 Java 生成二进制文件差异?
最佳答案
您可以使用 badiff 生成二进制差异;该网站是
它在maven central 上可用。它是 BSD 许可的,对 OSS 和商业都非常友好。使用的算法是本文中描述的 O(ND) diff 的分块版本:
http://www.xmailserver.org/diff2.pdf
差异格式与其他任何格式都不是特别兼容,但它会产生一些非常好的和非常小的差异。
这个库非常快;在我的台式机上,它可以在 54 秒内为两个随机的 50MB 输入流生成差异。希望这足够快;我认为这相当令人印象深刻,因为这是对每个 5000 万个代币的两个代币流的比较。 badiff 将在计算差异时利用多个 CPU 内核。
免责声明:我是 badiff 的作者,所以我当然认为它很酷。我总是乐于接受建议;能够读/写“标准”二进制差异格式之类的东西听起来很酷,可以添加到即将发布的版本中。
关于java - 用于 Java 或替代二进制差异格式的 VCDIFF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1108030/