Comparer les fichiers CSV en Java

Nous avons déjà discuté de la méthode de base pour comparer deux fichiers CSV dans nos applications Java. Aujourd’hui, dans cet article, nous allons apprendre davantage à comparer plus de deux CSV en Java. Nous verrons plus loin comment comparer des fichiers CSV protégés par mot de passe. Enfin, nous examinerons comment accepter et rejeter les modifications trouvées à l’aide de l’API de comparaison dans l’application Java.

Les sujets suivants sont traités ci-dessous :

API Java pour comparer les fichiers CSV

GroupDocs.Comparison présente son API Java qui permet de comparer des fichiers CSV avec différentes options. Je l’utiliserai à nouveau pour comparer les fichiers CSV dans l’application Java. De plus, il prend en charge la comparaison de plus de deux fichiers CSV, acceptant et rejetant les modifications découvertes et comparant les fichiers protégés par mot de passe.

Télécharger et configurer

Obtenez la bibliothèque de comparaison CSV à partir de la section téléchargements. Pour les applications Java basées sur Maven, ajoutez la configuration suivante dans 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>

Des exemples d’exécution de ses fonctionnalités sont également disponibles sur GitHub. Consultez sa documentation et API Reference pour obtenir des conseils.

Comparer les fichiers CSV en Java

La comparaison de base de deux fichiers CSV utilisant Java a déjà été abordée dans un article séparé. Là, nous avons examiné le code source Java de comparaison de fichiers, l’exemple d’entrée et le fichier de sortie de comparaison. Vous pouvez consulter cet article avant d’aller de l’avant.

Comparer plus de deux fichiers CSV en Java

Si l’exigence est de comparer plus de deux fichiers CSV, c’est assez similaire car nous ne comparons que deux fichiers. Ajoutez simplement le troisième fichier à l’objet Comparer.

Voici les étapes pour comparer plus de deux fichiers CSV en Java.

  • Instanciez la classe Comparer avec le premier fichier CSV.
  • Ajoutez le deuxième fichier à l’aide de la méthode d’ajout appropriée.
  • De même, ajoutez autant d’autres fichiers CSV à l’aide des méthodes d’ajout.
  • Enfin, appelez la méthode compare pour obtenir les résultats de la comparaison.

Le code source Java suivant compare plusieurs fichiers CSV. Au fur et à mesure des résultats de la comparaison, il génère des fichiers CSV et HTML distincts. Le fichier de sortie HTML met en évidence les modifications identifiées dans différentes couleurs.

// Comparer plusieurs (plus de 2) fichiers CSV en 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");

Comparer les fichiers CSV protégés par mot de passe en Java

Il existe différentes options disponibles qui peuvent être utilisées lors du chargement de différents documents. Si vos fichiers CSV sont protégés par un mot de passe, vous pouvez fournir le mot de passe lors du chargement. Le reste de la procédure reste le même pour comparer plusieurs fichiers CSV protégés par mot de passe.

Voici les étapes à suivre pour comparer des fichiers CSV protégés par mot de passe en Java.

  • Préparez les options de chargement à l’aide de la classe LoadOptions et définissez le mot de passe pour ouvrir le fichier CSV.
  • Chargez maintenant le premier fichier CSV à comparer lors de l’initialisation de la classe Comparer.
  • Ajoutez le deuxième fichier à l’aide de la méthode d’ajout appropriée.
  • De même, ajoutez autant d’autres fichiers CSV à l’aide de l’une des méthodes d’ajout.
  • Enfin, invoquez la méthode compare pour obtenir le résultat de la comparaison de tous les fichiers ajoutés.

Le code source suivant compare plusieurs fichiers CSV protégés par mot de passe en Java et génère les résultats de la comparaison.

// Comparer les fichiers CSV protégés par mot de passe à l'aide de 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");

Accepter ou rejeter les modifications identifiées des fichiers CSV en Java

Tout comme la fonction de suivi des modifications de Microsoft Word qui nous permet d’accepter ou de rejeter les modifications apportées aux documents. Vous pouvez implémenter la même fonctionnalité dans les applications Java. Après avoir effectué la comparaison de fichiers, vous pouvez accepter ou rejeter chacune des modifications identifiées. Voici les étapes pour comparer les fichiers CSV et accepter ou rejeter les modifications identifiées.

  • Chargez les fichiers CSV source et cible à l’aide de la classe Comparer.
  • Effectuez la comparaison des fichiers chargés à l’aide de la méthode de comparaison.
  • Récupérez les modifications identifiées à l’aide de la méthode getChanges.
  • Vous pouvez maintenant parcourir les modifications et définir leur ComparaisonAction en conséquence pour chaque modification.
    • Pour les modifications convenues, vous pouvez le définir sur ACCEPTER.
    • Pour les modifications non acceptées, vous pouvez le définir sur REJETER.
  • Enfin, appelez la méthode applyChanges pour obtenir le document résultant ayant les modifications appliquées.

Le code source Java suivant compare deux fichiers CSV, puis accepte et rejette les modifications trouvées.

// Accepter ou rejeter les modifications identifiées en comparant les fichiers CSV en 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));

Obtenez une licence API gratuite

Vous pouvez obtenir une licence temporaire gratuite afin d’utiliser l’API sans les limitations d’évaluation.

Conclusion

Pour résumer, nous avons appris aujourd’hui à la manière Java comment comparer deux ou plusieurs fichiers CSV. Outre la possibilité d’accepter et de rejeter les modifications identifiées, nous avons également appris à comparer des fichiers CSV protégés par mot de passe dans les applications Java.

Vous pouvez trouver de nombreuses autres options pour personnaliser les résultats de la comparaison. Vous pouvez définir la sensibilité de la comparaison, afficher uniquement la page de résumé, ignorer les lacunes, etc. Découvrez ces fonctionnalités dans la documentation.

Vous pouvez commencer à créer vos propres applications de comparaison pour divers formats de documents pris en charge. Pour toute question, contactez-nous via le forum.

Voir également