Bonjour à tous,
J'aimerais effectuer une comparaison entre des données provenant d'un fichier plat, d'une part, et d'une table de base de données d'autre part. Les deux ont une structure similaire, à savoir :
Dans un premier temps, on considère que l'ordre des colonnes est identique pour la table et le fichier, ainsi que le nombre d'entrées. En pratique, le nombre de colonnes n'est pas supérieur à 20 et le nombre de lignes peut aller jusqu'à 50.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Colonne 1 Colonne 2 ... Colonne n Val 11 Val 12 ... Val 1n Val 21 Val 22 ... Val 2n ...
Une combinaison de ces colonnes constitue une clé pour retrouver une ligne particulière.
Alors, pour ce qui est de la partie "extraction" des données, pas de souci à l'aide des classiques java.io.BufferedReader et java.sql.ResultSet.
Par contre, je ne sais pas encore quel est le meilleur objet Java à utiliser pour stocker ces données... Je pensais à deux HashMap dont les KeySet seraient une liste des valeurs formant la clé, et la Value associée serait l'ensemble (Collection par exemple) des autres valeurs.
Idéalement, l'affichage des différences ressemblerait à ceci :
ou les valeurs valX2, valY1 et valYn du fichier diffèrent de celles trouvées dans la table.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Fichier Table - Ligne X Colonne 1 valX1 valX1 Colonne 2 valX2 valX2 ... Colonne n valXn valXn - Ligne Y Colonne 1 valY1 valY1 Colonne 2 valY2 valY2 ... Colonne n valYn valYn ...
Est-ce que mon choix vous semble le bon ???![]()
Partager