CSVファイルのデータは基本的にカンマ区切りの値であり、そのようなデータを生の形式で読み取ることは非常に困難です。 ただし、これらのファイルを、CSV形式をサポートするMicrosoft Excel、OpenOffice Calc、LibreOfficeなどのよく知られたエディターのいずれかを使用して表示すると、CSVファイルの操作が非常に簡単になります。 それでも、2つの大きなCSVファイルのデータの違いを比較したい場合はどうでしょうか。 プログラムでやってみましょう。 この記事では、Javaで2つのCSVファイルを比較する基本的な方法について簡単に説明します。
CSVファイルを比較するためのJavaAPI
GroupDocsは、アプリケーション内の違いについて2つ以上のCSVファイルを比較できるAPIを紹介しています。そのJavaAPI、つまりGroupDocs.Comparison forJavaを使用してCSVファイルを比較します。
APIは、3つ以上の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の違いについて2つのCSVファイルを比較する手順です。
- Comparerクラスを使用して最初のCSVファイルをロードします。
- それぞれのaddメソッドを使用して2番目のCSVファイルを追加します。
- compareメソッドを使用して両方のファイルを比較します。
次の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アプリケーション内で2つのコンマ区切り値のCSVファイルを比較する方法を学びました。比較の要約では、比較されたファイル内で見つかった差異のカウントも取得します。この機能を使用すると、2つの大きなCSVファイル間の相違点を見つけることができます。同様に、この単純な機能を使用して、独自のCSVファイル比較Javaアプリケーションを構築できます。
APIの詳細と詳細については、そのドキュメントにアクセスしてください。お問い合わせは、フォーラムまでお問い合わせください。