有哪些Java Delta编码/压缩算法库?

3
我正在阅读 delta encoding,并且我在寻找一些很好的例子。我认为Google Chrome用它来进行补丁更新, rsync可能也是这样,维基百科文章暗示很多在线备份工具也使用这种方法。
我想知道是否有任何好的Java库可以做这种工作?看起来有大量基于*nix和C的工具,但很少或没有Java的等效工具,除了压缩数据结构之外。
无论如何,这对我来说是一个全新的概念,所以我很想阅读关于它的任何东西,特别是看到任何人使用Java来做它。

请访问http://da.vidr.cc/projects/lljvm/了解有关编程的更多信息。☺ - Mechanical snail
2个回答

2
我知道这是一个非常老的问题,但我决定在这里发布它,以防其他人遇到相同的问题。
以下是我目前正在使用的方法。它非常简单且有效。 https://code.google.com/p/xdeltaencoder/ 但你需要确保对源进行校验(在我的情况下是fileAJson),因为它不会自动为你完成!
无论如何,以下是代码:
//Create delta
String[] deltaArgs = new String[]{fileAJson.getAbsolutePath(), fileBJson.getAbsolutePath(), fileDelta.getAbsolutePath()};
XDeltaEncoder.main(deltaArgs);

//Apply delta
deltaArgs = new String[]{"-d", fileAJson.getAbsolutePath(), fileDelta.getAbsolutePath(), fileBTarget.getAbsolutePath()};
XDeltaEncoder.main(deltaArgs);

//Trivia, Surpisingly this also works
deltaArgs = new String[]{"-d", fileBJson.getAbsolutePath(), fileDelta.getAbsolutePath(), fileBTarget.getAbsolutePath()};
XDeltaEncoder.main(deltaArgs);

仅通过文件之间的差异更新数据(Java的增量)


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接