Ответ 1
Я нашел новую (насколько я могу судить) реализацию Java двоичного diff: JBDiff
Есть несколько вопросов о библиотеках text-diff для Java на SO, но ни один из двоичных diff. Итак, я иду:
Я ищу библиотеку двоичных библиотек , реализованную на Java. Я нашел javaxdelta и порт GNU Diff, но мне интересно если есть какие-то другие скрытые камни? И, может быть, у кого-то есть опыт работы с вышеупомянутыми библиотеками? Сравнение было бы очень полезно.
Наконец, может быть, полезно знать, что я хочу разграничить объекты, сериализованные Avro.
Я нашел новую (насколько я могу судить) реализацию Java двоичного diff: JBDiff
Если вы хотите сравнить Avro Files, посмотрите Avro Editor, он содержит утилиту сравнения для сериализованных файлов Avro.
Ваш вопрос недостаточно конкретный, чтобы получить хороший ответ. Что вы подразумеваете под "двоичным разным"?
Если вы хотите увидеть список всех различий между одним байтовым массивом и другим, вы можете реализовать или использовать алгоритм xdelta, Вы также можете преобразовать файл в hex с помощью команды od и использовать стандартную команду patch/diff, если вы предпочитаете писать оболочку script, чем C.
Однако, похоже, вы хотите сделать что-то конкретное для Avro. Это правда?
Если вы просто хотите сравнить значения полей двух разных файлов Avro и сгенерировать diff, и вы уже знакомы с Avro, все, что вам нужно будет сделать, это написать программу, которая читает оба файла и распечатывает различия таким образом, что вы можете читать позже, чтобы преобразовать оригинал.