Библиотека бинарных diff для Java

Есть несколько вопросов о библиотеках text-diff для Java на SO, но ни один из двоичных diff. Итак, я иду:

Я ищу библиотеку двоичных библиотек , реализованную на Java. Я нашел javaxdelta и порт GNU Diff, но мне интересно если есть какие-то другие скрытые камни? И, может быть, у кого-то есть опыт работы с вышеупомянутыми библиотеками? Сравнение было бы очень полезно.

Наконец, может быть, полезно знать, что я хочу разграничить объекты, сериализованные Avro.

Ответ 1

Я нашел новую (насколько я могу судить) реализацию Java двоичного diff: JBDiff

Ответ 2

Если вы хотите сравнить Avro Files, посмотрите Avro Editor, он содержит утилиту сравнения для сериализованных файлов Avro.

Ответ 3

Ваш вопрос недостаточно конкретный, чтобы получить хороший ответ. Что вы подразумеваете под "двоичным разным"?

Если вы хотите увидеть список всех различий между одним байтовым массивом и другим, вы можете реализовать или использовать алгоритм xdelta, Вы также можете преобразовать файл в hex с помощью команды od и использовать стандартную команду patch/diff, если вы предпочитаете писать оболочку script, чем C.

Однако, похоже, вы хотите сделать что-то конкретное для Avro. Это правда?

Если вы просто хотите сравнить значения полей двух разных файлов Avro и сгенерировать diff, и вы уже знакомы с Avro, все, что вам нужно будет сделать, это написать программу, которая читает оба файла и распечатывает различия таким образом, что вы можете читать позже, чтобы преобразовать оригинал.