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
- Eenvoudige vergelijking van CSV-bestanden
- Vergelijk meer dan twee CSV-bestanden
- Vergelijk wachtwoordbeveiligde CSV-bestanden
- Geïdentificeerde wijzigingen accepteren of afwijzen
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.