CSV 文件數據基本上是逗號分隔值,很難以原始格式讀取此類數據。但是,當使用任何支持 CSV 格式的知名編輯器(如 Microsoft Excel、OpenOffice Calc 或 LibreOffice)查看這些文件時,操作 CSV 文件變得非常容易。即便如此,如果您想比較兩個大型 CSV 文件的數據差異怎麼辦?讓我們以編程方式進行。本文快速介紹瞭如何在 Java 中比較兩個 CSV 文件的基本方法。
用於比較 CSV 文件的 Java API
GroupDocs 展示了其 API,這些 API 允許比較兩個或多個 CSV 文件以了解應用程序中的差異。我將使用它的 Java API,即 GroupDocs.Comparison for Java 來比較 CSV 文件。
API 還支持比較兩個以上的 CSV 文件、比較受密碼保護的 CSV 文件、接受和拒絕發現的更改等等。
下載和配置
從 下載 部分獲取 CSV 比較庫。對於基於 Maven 的 Java 應用程序,在 pom.xml 中添加以下配置。稍後,您可以嘗試本文的示例以及 GitHub 中的更多示例。有關詳細信息,您還可以訪問API 參考。
<repository>
<id>GroupDocsJavaAPI</id>
<name>GroupDocs Java API</name>
<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-comparison</artifactId>
<version>22.3</version>
</dependency>
如何在 Java 中比較 CSV 文件
直入主題,我們來做一下基礎對比。它與任何在線 CSV 比較應用程序一樣簡單。只需加載比較文件,然後點擊比較。以下是下面比較的文件:
以下是在 Java 中比較兩個 CSV 文件差異的步驟:
- 使用 Comparer 類加載第一個 CSV 文件。
- 使用相應的添加方法添加第二個 CSV 文件。
- 使用比較方法比較兩個文件。
以下 Java 代碼比較 CSV 文件並提供 CSV 輸出中的差異。
// 使用 Java 比較 CSV(逗號分隔文件)
Comparer comparer = new Comparer("path/comma-separated-file-1.csv");
comparer.add("path/comma-separated-file-2.csv");
final Path outputFilePath = comparer.compare("path/comparison-result.csv");
輸出結果如下:
結論
總而言之,我們剛剛學會了在 Java 應用程序中比較兩個逗號分隔值 CSV 文件。在比較摘要中,我們還獲得了在比較文件中發現的差異的計數。此功能可讓您找到兩個大型 CSV 文件之間的差異。同樣,您可以使用這個簡單的功能構建自己的 CSV 文件比較 Java 應用程序。
如需更多詳細信息和了解 API,請訪問其 文檔。如有疑問,請通過 論壇 聯繫我們。