找出两个大文件的差异

时间:2021-06-29 04:25:20

标签: java diff

我想计算文件差异。并且文件可能非常大,例如25 MB。

我的想法是按部分计算文件,例如首先比较前 1000 个字节,然后比较第二个 1000 个字节,依此类推。

Java-Diff-Utils(或其他)是否支持按部分计算差异,这意味着它需要存储状态而不是将第二个 1000 字节视为新文件?

我怎样才能让它也存储行号? 谢谢!

编辑: 文件为txt文件格式。

1 个答案:

答案 0 :(得分:1)

您需要提供更多信息。比如你要比较什么样的文件,有没有时间限制,是否在使用Java-Diff-Utils时遇到了问题。如果没有,以下只是一个想法:

如果你看看专业的 diff 工具,我通常使用 winmerge (https://winmerge.org),它们有不同的方式来处理不同的类型文件。因此,具有不同标记顺序的 XML 或 CSV 或 json 仍然是具有相同信息的文件。如果要与非结构化文件(例如 .txt)进行比较,则 java-diff-utils 是否将块视为同一文件并不重要。否则,您将不得不担心它。

根据他们的帮助页面和示例 (https://github.com/java-diff-utils/java-diff-utils/wiki/Examples),似乎两个块本质上是两个文件。但即使是这样,您也应该能够覆盖该行为(因为它是开源的)。

谢谢!

相关问题