Vergelijk CSV-bestanden in Java

We hebben de basismanier om twee CSV-bestanden te vergelijken al besproken binnen onze Java-applicaties. Vandaag zullen we in dit artikel verder leren om meer dan twee CSV’s in Java te vergelijken. We zullen verder bespreken hoe u met een wachtwoord beveiligde CSV-bestanden kunt vergelijken. Ten slotte zal worden onderzocht hoe de gevonden wijzigingen kunnen worden geaccepteerd en afgewezen met behulp van de vergelijkings-API binnen de Java-toepassing.

De volgende onderwerpen komen hieronder aan bod:

Java API voor het vergelijken van CSV-bestanden

GroupDocs.Comparison demonstreert zijn Java API waarmee CSV-bestanden met verschillende opties kunnen worden vergeleken. Ik zal het opnieuw gebruiken om CSV-bestanden binnen de Java-toepassing te vergelijken. Bovendien ondersteunt het de vergelijking van meer dan twee CSV-bestanden, het accepteren en weigeren van de ontdekte wijzigingen en het vergelijken van met een wachtwoord beveiligde bestanden.

Downloaden en configureren

Download de CSV-vergelijkingsbibliotheek uit het gedeelte downloads. Voeg voor op Maven gebaseerde Java-toepassingen de volgende configuratie toe binnen pom.xml.

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

Uitvoerende voorbeelden van de functies zijn ook beschikbaar op GitHub. Bezoek de bijbehorende documentatie en API-referentie voor hulp.

Vergelijk CSV-bestanden in Java

De basisvergelijking van twee CSV-bestanden met Java is al in een apart artikel besproken. Daar hebben we gekeken naar de Java-broncode voor bestandsvergelijking, voorbeeldinvoer en het vergelijkingsuitvoerbestand. U kunt dat artikel bezoeken voordat u verder gaat.

Vergelijk meer dan twee CSV-bestanden in Java

Als de vereiste is om meer dan twee CSV-bestanden te vergelijken, is het vrij gelijkaardig omdat we slechts twee bestanden vergelijken. Voeg gewoon het derde bestand toe aan het Comparer-object.

Hieronder volgen de stappen om meer dan twee CSV-bestanden in Java te vergelijken.

  • Instantieer de klasse Comparer met het eerste CSV-bestand.
  • Voeg het tweede bestand toe met de juiste toevoegmethode.
  • Voeg op dezelfde manier zoveel andere CSV-bestanden toe met behulp van de add-methoden.
  • Roep ten slotte de vergelijkingsmethode aan om de vergelijkingsresultaten te krijgen.

De volgende Java-broncode vergelijkt meerdere CSV-bestanden. Als vergelijkingsresultaten genereert het afzonderlijke CSV- en HTML-bestanden. Het HTML-uitvoerbestand markeert de geïdentificeerde wijzigingen in verschillende kleuren.

// Vergelijk meerdere (meer dan 2) CSV-bestanden 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");

Vergelijk met een wachtwoord beveiligde CSV-bestanden in Java

Er zijn verschillende beschikbare opties die kunnen worden gebruikt bij het laden van verschillende documenten. Als uw CSV-bestanden met een wachtwoord zijn beveiligd, kunt u het wachtwoord opgeven tijdens het laden. De rest van de procedure blijft hetzelfde voor het vergelijken van meerdere met een wachtwoord beveiligde CSV-bestanden.

Hieronder volgen de stappen voor het vergelijken van met een wachtwoord beveiligde CSV-bestanden in Java.

  • Bereid de laadopties voor met behulp van de klasse LoadOptions en stel het wachtwoord in om het CSV-bestand te openen.
  • Laad nu het eerste CSV-bestand om te vergelijken tijdens het initialiseren van de klasse Comparer.
  • Voeg het tweede bestand toe met de juiste toevoegmethode.
  • Voeg op dezelfde manier zoveel andere CSV-bestanden toe met behulp van een van de toevoegmethoden.
  • Roep ten slotte de vergelijkingsmethode aan om het vergelijkingsresultaat van alle toegevoegde bestanden te krijgen.

De volgende broncode vergelijkt meerdere met een wachtwoord beveiligde CSV-bestanden in Java en genereert de vergelijkingsresultaten.

// Vergelijk wachtwoordbeveiligde CSV-bestanden met 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");

Accepteer of weiger geïdentificeerde wijzigingen van CSV-bestanden in Java

Net als de track changes-functie van Microsoft Word waarmee we de aangebrachte wijzigingen in de documenten kunnen accepteren of afwijzen. U kunt dezelfde functie implementeren binnen de Java-toepassingen. Na het uitvoeren van de bestandsvergelijking kunt u elk van de geïdentificeerde wijzigingen accepteren of weigeren. Hieronder volgen de stappen om CSV-bestanden te vergelijken en de geïdentificeerde wijzigingen te accepteren of te weigeren.

  • Laad de bron- en doel-CSV-bestanden met behulp van de klasse Comparer.
  • Voer de vergelijking van de geladen bestanden uit met behulp van de vergelijkingsmethode.
  • Haal de geïdentificeerde wijzigingen op met behulp van de methode getChanges.
  • Nu kunt u de wijzigingen doorlopen en hun ComparisonAction dienovereenkomstig instellen voor elke wijziging.
    • Voor de overeengekomen wijzigingen kunt u deze instellen op ACCEPTEREN.
    • Voor de wijzigingen waar u het niet mee eens bent, kunt u dit instellen als REJECT.
  • Roep ten slotte de methode applyChanges aan om het resulterende document met de toegepaste wijzigingen op te halen.

De volgende Java-broncode vergelijkt twee CSV-bestanden en accepteert en verwerpt vervolgens de gevonden wijzigingen.

// Accepteer of weiger geïdentificeerde wijzigingen door CSV-bestanden in Java te vergelijken

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

Ontvang een gratis API-licentie

U kunt een gratis tijdelijke licentie krijgen om de API te gebruiken zonder de evaluatiebeperkingen.

Conclusie

Kortom, vandaag hebben we op de Java-manier geleerd hoe we twee of meer CSV-bestanden kunnen vergelijken. Naast de mogelijkheid om de geïdentificeerde wijzigingen te accepteren en af te wijzen, hebben we ook geleerd om met een wachtwoord beveiligde CSV-bestanden te vergelijken binnen de Java-applicaties.

U kunt vele andere opties vinden om de vergelijkingsresultaten aan te passen. U kunt de vergelijkingsgevoeligheid instellen, alleen de overzichtspagina weergeven, hiaten negeren en nog veel meer. Lees meer over deze functies in de documentatie.

U kunt beginnen met het bouwen van uw eigen vergelijkingsapplicaties voor verschillende ondersteunde documentindelingen. Neem voor vragen contact met ons op via het forum.

Zie ook