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 文件在 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");
输出结果如下:
结论
总而言之,我们刚刚学会了在 Java 应用程序中比较两个逗号分隔值的 CSV 文件。在比较摘要中,我们还获得了在比较文件中发现的差异计数。此功能可让您找到两个大型 CSV 文件之间的差异。同样,您可以使用这个简单的功能构建自己的 CSV 文件比较 Java 应用程序。
有关更多详细信息并了解 API,请访问其 文档。如有疑问,请通过 论坛 联系我们。