¿Cómo comparo dos documentos ODS programáticamente en Java?
-
27-10-2019 - |
Pregunta
Estoy generando una hoja de cálculo de ODS como salida de un programa Java. Actualmente estoy tratando de configurar casos de prueba para lo mismo. Para esto, necesito comparar las salidas esperadas y reales. Actualmente estoy usando Odftoolkit para crear el documento.
¿Cómo comparo las dos hojas de cálculo (esperadas y reales) en un programa Java?
Solución
En caso de que alguien necesite la solución, aquí está
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;
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow