CSV 文件數據基本上是逗號分隔的值,很難以原始格式讀取此類數據。 但是,當使用任何支持 CSV 格式的知名編輯器(如 Microsoft Excel、OpenOffice Calc 或 LibreOffice)查看這些文件時,操作 CSV 文件變得非常容易。 即使這樣,如果您想比較兩個大型 CSV 文件的數據差異怎麼辦? 讓我們以編程方式進行。 本文快速介紹瞭如何在 Java 中比較兩個 CSV 文件的基本方法。

用于比较 CSV 文件的 Java API

GroupDocs 展示了其 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 比较应用程序一样简单。只需加载比较文件,然后点击比较。以下是下面比较的文件:

要比较的 CSV 文件

以下是比较两个 CSV 文件在 Java 中的差异的步骤:

  • 使用 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");

输出结果如下:

CSV 文件比较结果

结论

总而言之,我们刚刚学会了在 Java 应用程序中比较两个逗号分隔值的 CSV 文件。在比较摘要中,我们还获得了在比较文件中发现的差异计数。此功能可让您找到两个大型 CSV 文件之间的差异。同样,您可以使用这个简单的功能构建自己的 CSV 文件比较 Java 应用程序。

有关更多详细信息并了解 API,请访问其 文档。如有疑问,请通过 论坛 联系我们。

也可以看看