supprission des lignes redondantes dans un fichier - Java - Programmation
Marsh Posté le 20-10-2013 à 23:33:10
Il faut lire le fichier ligne à ligne, et ne réécrire que les lignes dont les deux champs ID et numéro ne sont pas égaux à ceux des lignes qui ont déjà été écrites.
Petite astuce pour que le traitement soit plus rapide si le fichier est gros :
Il faudrait trier préalablement le fichier avec ces deux colonnes comme clés. Puis lors de la lecture et de l'écriture, le filtre ne se fera que par rapport à la ligne précédente, au lieu de se faire par rapport à tous les lignes précédentes.
Bon courage !
Marsh Posté le 29-10-2013 à 21:56:52
Pour chaque ligne, concatène les 2 clés et ajoute les dans un Set. Si l'ajout au Set s'est bien passé, c'est que la ligne n'existe pas, tu peux l'écrire dans le fichier. Si l'ajout a échoué, c'est que la clé existait déjà, tu passes la ligne.
http://docs.oracle.com/javase/7/do [...] tml#add(E)
Marsh Posté le 20-10-2013 à 21:35:44
Bonsoir ,
J'ai un fichier qui contient des colonnes(des en-têtes) et des lignes ,je souhaitais supprimer les lignes dont le ID et numéro sont les mêmes .
Exemple:
// mon fichier:
ID numero ref taille
1 115 998 12
1 115 998 12
2 123 108 8
3 101 856 11
3 333 753 9
=> Dans ce cas il faudrait supprimer la deuxième ligne car le ID et le numéro existe déjà au niveau de la première ligne ..
merci d'avance