Как я могу сравнить два документа ods программно в Java?
Я генерирую электронную таблицу ODS как вывод программы Java. В настоящее время я пытаюсь настроить тестовые случаи для того же. Для этого мне нужно сравнить ожидаемые и фактические результаты. В настоящее время я использую ODFToolkit для создания документа.
Как сравнить две таблицы (ожидаемую и фактическую) в программе на Java?
1 ответ
Решение
Если кому-то нужно решение, вот оно
public static boolean contentsAreIdentical(OdfSpreadsheetDocument document1, OdfSpreadsheetDocument document2) {
try {
ByteArrayInputStream bis1 = (ByteArrayInputStream) document1.getContentStream();
ByteArrayInputStream bis2 = (ByteArrayInputStream) document2.getContentStream();
if(bis1.available() != bis2.available()) {
return false;
}
while(true){
int a = bis1.read();
int b = bis2.read();
if(a != b){
return false;
}
if(a == -1){
return true;
}
}
} catch (Exception e) {
//Do something with exception
}
return false;
}