Как сравнить два документа ods программно на Java? - PullRequest
0 голосов
/ 19 февраля 2012

Я генерирую электронную таблицу ODS в качестве вывода из программы Java. В настоящее время я пытаюсь настроить тестовые случаи для того же. Для этого мне нужно сравнить ожидаемые и фактические результаты. В настоящее время я использую ODFToolkit для создания документа.

Как сравнить две таблицы (ожидаемую и фактическую) в программе на Java?

1 Ответ

0 голосов
/ 27 февраля 2012

На случай, если кому-то понадобится решение, вот оно

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;  
}  
...