Confronta i file CSV in Java

Abbiamo già discusso il modo di base per confrontare due file CSV all’interno delle nostre applicazioni Java. Oggi, in questo articolo, impareremo ulteriormente a confrontare più di due CSV in Java. Discuteremo ulteriormente come confrontare i file CSV protetti da password. Infine, esaminerà come accettare e rifiutare le modifiche trovate utilizzando l’API di confronto all’interno dell’applicazione Java.

Di seguito vengono trattati i seguenti argomenti:

API Java per il confronto di file CSV

GroupDocs.Comparison mostra la sua API Java che consente di confrontare i file CSV con diverse opzioni. Lo userò di nuovo per confrontare i file CSV all’interno dell’applicazione Java. Inoltre, supporta il confronto di più di due file CSV, accettando e rifiutando le modifiche rilevate e confrontando i file protetti da password.

Scarica e configura

Ottieni la libreria di confronto CSV dalla sezione download. Per le applicazioni Java basate su Maven, aggiungere la seguente configurazione all’interno di 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>

Esempi di esecuzione per le sue funzionalità sono disponibili anche su GitHub. Visita la sua documentazione e Riferimento API per indicazioni.

Confronta i file CSV in Java

Il confronto di base di due file CSV utilizzando Java è già stato discusso in un articolo separato. Lì, abbiamo esaminato il codice sorgente Java per il confronto dei file, l’input di esempio e il file di output del confronto. Puoi visitare quell’articolo prima di andare avanti.

Confronta più di due file CSV in Java

Se il requisito è confrontare più di due file CSV, è abbastanza simile poiché stiamo confrontando solo due file. Basta aggiungere il terzo file all’oggetto Comparer.

Di seguito sono riportati i passaggi per confrontare più di due file CSV in Java.

  • Crea un’istanza della classe Comparer con il primo file CSV.
  • Aggiungi il secondo file utilizzando il metodo di aggiunta appropriato.
  • Allo stesso modo, aggiungi tanti altri file CSV usando i metodi di aggiunta.
  • Infine, chiama il metodo di confronto per ottenere i risultati del confronto.

Il seguente codice sorgente Java confronta più file CSV. Come risultato del confronto, genera file CSV e HTML separati. Il file di output HTML evidenzia le modifiche identificate in diversi colori.

// Confronta più file CSV (più di 2) 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");

Confronta i file CSV protetti da password in Java

Sono disponibili diverse opzioni che possono essere utilizzate durante il caricamento di documenti diversi. Se i tuoi file CSV sono protetti da password, puoi fornire la password durante il caricamento. Il resto della procedura rimane lo stesso per confrontare più file CSV protetti da password.

Di seguito sono riportati i passaggi per confrontare i file CSV protetti da password in Java.

  • Preparare le opzioni di caricamento utilizzando la classe LoadOptions e impostare la password per aprire il file CSV.
  • Ora carica il primo file CSV da confrontare durante l’inizializzazione della classe Comparer.
  • Aggiungi il secondo file utilizzando il metodo di aggiunta appropriato.
  • Allo stesso modo, aggiungi tanti altri file CSV usando uno qualsiasi dei metodi di aggiunta.
  • Infine, richiama il metodo compare per ottenere il risultato del confronto di tutti i file aggiunti.

Il codice sorgente seguente confronta più file CSV protetti da password in Java e genera i risultati del confronto.

// Confronta i file CSV protetti da password utilizzando 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");

Accetta o rifiuta le modifiche identificate dei file CSV in Java

Proprio come la funzione di traccia delle modifiche di Microsoft Word che ci consente di accettare o rifiutare le modifiche apportate all’interno dei documenti. È possibile implementare la stessa funzionalità all’interno delle applicazioni Java. Dopo aver eseguito il confronto dei file, è possibile accettare o rifiutare ciascuna delle modifiche identificate. Di seguito sono riportati i passaggi per confrontare i file CSV e accettare o rifiutare le modifiche identificate.

  • Carica i file CSV di origine e di destinazione utilizzando la classe Comparer.
  • Eseguire il confronto dei file caricati utilizzando il metodo di confronto.
  • Recupera le modifiche identificate utilizzando il metodo getChanges.
  • Ora puoi attraversare le modifiche e impostare la loro ComparisonAction di conseguenza per ogni modifica.
    • Per le modifiche concordate puoi impostarlo come ACCETTO.
    • Per le modifiche in disaccordo puoi impostarlo come RIFIUTO.
  • Infine, chiama il metodo applyChanges per ottenere il documento risultante con le modifiche applicate.

Il seguente codice sorgente Java confronta due file CSV, quindi accetta e rifiuta le modifiche trovate.

// Accetta o rifiuta le modifiche identificate confrontando i file CSV in Java

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

Ottieni una licenza API gratuita

Puoi ottenere una licenza temporanea gratuita per utilizzare l’API senza i limiti di valutazione.

Conclusione

Per riassumere, oggi abbiamo imparato il modo Java come confrontare due o più file CSV. Oltre alla possibilità di accettare e rifiutare le modifiche identificate, abbiamo anche imparato a confrontare i file CSV protetti da password all’interno delle applicazioni Java.

Puoi trovare molte altre opzioni per personalizzare i risultati del confronto. Puoi impostare la sensibilità del confronto, mostrare solo la pagina di riepilogo, ignorare le lacune e molto altro. Scopri queste funzionalità dalla documentazione.

Puoi iniziare a creare le tue applicazioni di confronto per vari formati di documenti supportati. Per domande, contattaci tramite il forum.

Guarda anche