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比較アプリケーションと同じくらい簡単です。比較ファイルをロードしてから、比較を押してください。以下は、以下で比較されるファイルです。

比較する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");

出力結果は次のとおりです。

CSVファイルの比較結果

結論

要約すると、Javaアプリケーション内で2つのコンマ区切り値のCSVファイルを比較する方法を学びました。比較の要約では、比較されたファイル内で見つかった差異のカウントも取得します。この機能を使用すると、2つの大きなCSVファイル間の相違点を見つけることができます。同様に、この単純な機能を使用して、独自のCSVファイル比較Javaアプリケーションを構築できます。

APIの詳細と詳細については、そのドキュメントにアクセスしてください。お問い合わせは、フォーラムまでお問い合わせください。

関連項目