2014-02-16 17 views
0

我正在寻找Reed Solomon算法的Java库。Reed Solomon Java库 - 用冗余对文件进行分区

我需要的是用冗余分区给定的文件在不同的块中。因此,在分成N个块后,我可以用这些块的K个重新构建文件(其中k < N)。这应该是Reed Solomon的主要特征之一。

这是我曾尝试:

  1. 我发现zxing,我下载了核心x.x.jar在我的电脑顺利运行测试。但是,通过阅读代码,我意识到它的编写仅支持QR码。

  2. 我也尝试过this库,但它不能正常工作,它在过去的4年里没有更新过。

  3. 我开始这个项目,我想用Java来做;然而,由于唯一受到高度支持的库是用Python编写的,我可能只是在Python中完成整个项目(我宁愿不)。这是zfec库。

Java库上的任何提示?

+0

感谢downvote,特别是为了正确的解释。 –

+0

downvote最有可能的原因是您要求推荐的工具/库,这被认为是stackoverflow的主题。因为它[在帮助中心中声明](http://stackoverflow.com/help/on-topic):*要求我们推荐或找到工具,库或最喜欢的非现场资源的问题是堆栈溢出因为他们倾向于吸引自以为是的答案和垃圾邮件。相反,请描述问题以及迄今为止解决问题的方法。* –

+0

非常感谢@PaulRichter的解释。我不认为这是“你最喜欢的....”?主观的问题,我已经描述了这个问题,并提到了我在网上找到的所有内容....就像[this](http://meta.stackexchange。关于meta.stackoverflow的问题#/问题/ 139399 /问题#)现在我已经解决了它,我认为这个问题+答案可能对开发人员有很大帮助我也有同样的需求......你怎么看?我可以删除这个问题,但这不是问题,但我认为这是不对的。 –

回答

0

最后,我决定去使用FEC的Java实现。其基于onion networks FEC库。

我开发了该库的包装,希望能够更容易地使用我需要的东西。它具有Junit测试和更简单的API,用于从File或字节数组创建块。

看一看here如果您有兴趣,它是位于bitbucket中的公共存储库。

+0

您的链接已死亡。 –

+1

谢谢@Zoltán,固定! –

0

我决定使用zfec库,它使用起来非常简单,甚至不需要读取任何东西。所有你需要的是zfec --help,你就完成了。

为了与Java沟通我正在考虑两种可能性:

  1. 创建JNI

  2. 在python中创建一个小型本地HTTP服务作为zfec库的包装。可能与Flask之类的东西有关。