複数のフォルダーを操作する場合、それらの内容を比較して一貫性を保ち、変更を検出し、異なるバージョンのファイル間の不一致を見つけることが重要です。このチュートリアルでは、Java で 2 つのフォルダーを比較する方法について説明します。比較の結果は HTML レポートとしてエクスポートされ、色分けされた差異によってディレクトリ間の変更が視覚的に強調表示されます。
フォルダーを比較する理由
フォルダーを比較する理由はいくつかあります。
- バージョン管理: バックアップ フォルダーまたはデプロイメント フォルダー内のファイルの変更または追加を確認します。
- バックアップ検証: データの損失を防ぐために、2 つのディレクトリ内のファイルが一致していることを確認します。
- ファイル同期: ローカル ディレクトリとリモート ディレクトリ間ですべてのファイルが正しく同期されているかどうかを検出します。
Java でフォルダーを比較することで、ファイルの不一致をすばやく識別し、ファイルのコピー、削除、更新などの必要なアクションを実行できます。
フォルダーの比較 - Java API 構成
Conholdate.Total for Java をインストールすることで、フォルダーやディレクトリを簡単に比較できます。以下の Maven 構成をアプリケーションの pom.xml ファイルにコピーして貼り付けるだけです。
<dependency>
<groupId>com.conholdate</groupId>
<artifactId>conholdate-total</artifactId>
<version>24.8</version>
<type>pom</type>
</dependency>
Javaでフォルダを比較する
次の手順では、Java でフォルダーを比較する方法について詳しく説明します。
CompareOptions の設定: CompareOptions オブジェクトは、ブール値を設定してディレクトリ レベルの比較を有効にするように構成されます。
Comparer クラスの使用: Comparer は最初のフォルダーへのパスで初期化されます。try-with-resources ステートメントにより、操作後に Comparer が自動的に閉じられるようになります。
2 番目のフォルダーの追加: add メソッドを使用して 2 番目のディレクトリを指定します。
HTML レポートの生成: compare() メソッドは、両方のフォルダーの内容を比較し、結果を HTML ファイルに保存します。
以下のサンプル コードは、Java でフォルダーを比較する方法を示しています。
// CompareOptionsクラスのオブジェクトを作成する
com.groupdocs.comparison.options.CompareOptions compareOptions = new com.groupdocs.comparison.options.CompareOptions();
compareOptions.setDirectoryCompare(true);
// Comparerクラスのインスタンスを初期化し、フォルダを指定します
try (com.groupdocs.comparison.Comparer comparer = new com.groupdocs.comparison.Comparer("C:\\folder1\\", compareOptions)) {
comparer.add("C:\\folder2\\", compareOptions);
// フォルダを比較する
comparer.compare("C:\\res.html", compareOptions);
}
HTML レポートを理解する
HTML 出力では、2 つのディレクトリ間の違いが明確に視覚的に表現されます。ファイルは次のように色分けされています。
- 赤: フォルダー 2 から削除されたが、フォルダー 1 に存在するファイル。
- 青: フォルダー2 で変更されたファイル、または新しく追加されたファイル。
- 黒: フォルダー 1 とフォルダー 2 の両方で同一のファイル。
このアプローチにより、フォルダー比較プロセスが簡素化され、開発者は変更や不足しているファイルをすばやく特定できるようになります。
無料評価ライセンス
無料の一時ライセンスをリクエストして、評価制限なしで API で提供されるいくつかの機能をテストおよび評価することができます。
まとめ
Java でフォルダーを比較することは、ファイル ディレクトリの整合性と同期を保証する強力な方法です。Comparer クラスを使用して HTML レポートを生成すると、2 つのフォルダーの違いを簡単に追跡し、ファイルの変更、削除、および変更されていないファイルを視覚的に検出できます。これは、バージョン管理、バックアップ、およびファイル同期タスクに特に役立ちます。ご質問がある場合は、フォーラム でお気軽にお問い合わせください。