CSV-Dateien in Java vergleichen

Wir haben bereits die grundlegende Methode zum Vergleichen von zwei CSV-Dateien in unseren Java-Anwendungen besprochen. Heute werden wir in diesem Artikel weiter lernen, mehr als zwei CSV-Dateien in Java zu vergleichen. Wir werden weiter besprechen, wie passwortgeschützte CSV-Dateien verglichen werden können. Abschließend wird untersucht, wie die gefundenen Änderungen mithilfe der Vergleichs-API in der Java-Anwendung akzeptiert und abgelehnt werden.

Nachfolgend werden folgende Themen behandelt:

Java-API zum Vergleichen von CSV-Dateien

GroupDocs.Comparison präsentiert seine Java API, die es ermöglicht, CSV-Dateien mit verschiedenen Optionen zu vergleichen. Ich werde es wieder verwenden, um CSV-Dateien innerhalb der Java-Anwendung zu vergleichen. Darüber hinaus unterstützt es den Vergleich von mehr als zwei CSV-Dateien, das Akzeptieren und Ablehnen der entdeckten Änderungen und das Vergleichen von passwortgeschützten Dateien.

Herunterladen und konfigurieren

Holen Sie sich die CSV-Vergleichsbibliothek aus dem Abschnitt Downloads. Fügen Sie für Maven-basierte Java-Anwendungen die folgende Konfiguration in pom.xml hinzu.

<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>

Laufende Beispiele für seine Funktionen sind auch auf GitHub verfügbar. Besuchen Sie die Dokumentation und die API-Referenz, um Anleitungen zu erhalten.

CSV-Dateien in Java vergleichen

Der grundlegende Vergleich zweier CSV-Dateien mit Java wurde bereits in einem separaten Artikel behandelt. Dort haben wir uns den Java-Quellcode des Dateivergleichs, die Beispieleingabe und die Vergleichsausgabedatei angesehen. Sie können diesen Artikel besuchen, bevor Sie fortfahren.

Vergleichen Sie mehr als zwei CSV-Dateien in Java

Wenn mehr als zwei CSV-Dateien verglichen werden müssen, ist es ziemlich ähnlich, da wir nur zwei Dateien vergleichen. Fügen Sie einfach die dritte Datei zum Comparer-Objekt hinzu.

Im Folgenden finden Sie die Schritte zum Vergleichen von mehr als zwei CSV-Dateien in Java.

  • Instanziieren Sie die Klasse Comparer mit der ersten CSV-Datei.
  • Fügen Sie die zweite Datei mit der entsprechenden add-Methode hinzu.
  • Fügen Sie auf ähnliche Weise so viele andere CSV-Dateien mit den add-Methoden hinzu.
  • Rufen Sie schließlich die Methode “compare” auf, um die Vergleichsergebnisse abzurufen.

Der folgende Java-Quellcode vergleicht mehrere CSV-Dateien. Als Vergleichsergebnis werden separate CSV- und HTML-Dateien generiert. Die HTML-Ausgabedatei hebt die identifizierten Änderungen in verschiedenen Farben hervor.

// Vergleichen Sie mehrere (mehr als 2) CSV-Dateien in Java

Comparer comparer = new Comparer("path/comma-separated-file-1.csv");
comparer.add("path/comma-separated-file-2.csv");
comparer.add("path/comma-separated-file-3.csv");
// ...
// ...
final Path outputFilePath = comparer.compare("path/comparison-result.csv");

Vergleichen Sie passwortgeschützte CSV-Dateien in Java

Es gibt verschiedene verfügbare Optionen, die beim Laden verschiedener Dokumente verwendet werden können. Wenn Ihre CSV-Dateien passwortgeschützt sind, können Sie das Passwort beim Laden angeben. Der Rest des Verfahrens bleibt gleich, um mehrere passwortgeschützte CSV-Dateien zu vergleichen.

Im Folgenden finden Sie die Schritte zum Vergleichen passwortgeschützter CSV-Dateien in Java.

  • Bereiten Sie die Ladeoptionen mit der Klasse LoadOptions vor und legen Sie das Kennwort zum Öffnen der CSV-Datei fest.
  • Laden Sie nun die erste zu vergleichende CSV-Datei, während Sie die Klasse Comparer initialisieren.
  • Fügen Sie die zweite Datei mit der entsprechenden add-Methode hinzu.
  • Fügen Sie auf ähnliche Weise so viele andere CSV-Dateien mit einer der Add-Methoden hinzu.
  • Rufen Sie schließlich die Methode Compare auf, um das Vergleichsergebnis aller hinzugefügten Dateien zu erhalten.

Der folgende Quellcode vergleicht mehrere passwortgeschützte CSV-Dateien in Java und generiert die Vergleichsergebnisse.

// Vergleichen Sie passwortgeschützte CSV-Dateien mit Java

Comparer comparer = new Comparer("path/comma-separated-file-1.csv", new LoadOptions("file1-password"));
comparer.add("path/comma-separated-file-2.csv", new LoadOptions("file2-password"));
final Path outputFilePath = comparer.compare("path/comparison-result.csv");

Identifizierte Änderungen von CSV-Dateien in Java akzeptieren oder ablehnen

Genau wie die Funktion zum Verfolgen von Änderungen in Microsoft Word, mit der wir die vorgenommenen Änderungen in den Dokumenten akzeptieren oder ablehnen können. Sie können dieselbe Funktion in den Java-Anwendungen implementieren. Nachdem Sie den Dateivergleich durchgeführt haben, können Sie jede der identifizierten Änderungen akzeptieren oder ablehnen. Im Folgenden sind die Schritte zum Vergleichen von CSV-Dateien und Akzeptieren oder Ablehnen der identifizierten Änderungen aufgeführt.

  • Laden Sie die Quell- und Ziel-CSV-Dateien mit der Klasse Comparer.
  • Führen Sie den Vergleich der geladenen Dateien mit der Methode Compare durch.
  • Rufen Sie die identifizierten Änderungen mit der getChanges-Methode ab.
  • Jetzt können Sie die Änderungen durchlaufen und ihre ComparisonAction für jede Änderung entsprechend festlegen.
    • Für die vereinbarten Änderungen können Sie es auf AKZEPTIEREN setzen.
    • Für die abgelehnten Änderungen können Sie es auf ABLEHNEN setzen.
  • Rufen Sie schließlich die Methode applyChanges auf, um das resultierende Dokument mit den angewendeten Änderungen abzurufen.

Der folgende Java-Quellcode vergleicht zwei CSV-Dateien und akzeptiert und verwirft dann die gefundenen Änderungen.

// Akzeptieren oder verwerfen Sie identifizierte Änderungen, indem Sie CSV-Dateien in Java vergleichen

Comparer comparer = new Comparer("path/comma-separated-file-1.csv");
comparer.add("path/comma-separated-file-2.csv");

comparer.compare("path/comparison-result.csv");

ChangeInfo[] changes = comparer.getChanges();
changes[0].setComparisonAction(ComparisonAction.REJECT);
changes[1].setComparisonAction(ComparisonAction.ACCEPT);

comparer.applyChanges("path/comparison-result.csv", new SaveOptions(), new ApplyChangeOptions(changes));

Holen Sie sich eine kostenlose API-Lizenz

Sie können eine kostenlose temporäre Lizenz erwerben, um die API ohne die Evaluierungseinschränkungen zu verwenden.

Fazit

Zusammenfassend haben wir heute auf Java-Art gelernt, wie man zwei oder mehr CSV-Dateien vergleicht. Neben der Möglichkeit, die identifizierten Änderungen zu akzeptieren und abzulehnen, haben wir auch gelernt, passwortgeschützte CSV-Dateien innerhalb der Java-Anwendungen zu vergleichen.

Sie finden viele weitere Optionen zum Anpassen der Vergleichsergebnisse. Sie können die Vergleichsempfindlichkeit einstellen, nur die Zusammenfassungsseite anzeigen, Lücken ignorieren und vieles mehr. Weitere Informationen zu diesen Funktionen finden Sie in der Dokumentation.

Sie können damit beginnen, Ihre eigenen Vergleichsanwendungen für verschiedene unterstützte Dokumentformate zu erstellen. Bei Fragen kontaktieren Sie uns über das Forum.

Siehe auch