如何在Java中以编程方式比较两个ods文档?

时间:2012-02-19 17:03:39

标签: java odftoolkit

我正在生成一个ODS电子表格作为Java程序的输出。我目前正在尝试为此设置测试用例。为此,我需要比较预期和实际产出。 我目前正在使用ODFToolkit来创建文档。

如何比较Java程序中的两个电子表格(预期和实际)?

1 个答案:

答案 0 :(得分:0)

如果有人需要解决方案,这里就是

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