Comparer le contenu de deux fichier txt(ligne par ligne)
karim91000
Messages postés5Date d'inscriptionlundi 31 mars 2008StatutMembreDernière intervention 1 avril 2008
-
31 mars 2008 à 20:12
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 2011
-
1 avril 2008 à 14:13
Bonjour,
je veux comparer le contenu de deux fichier1.txt et fichier2.txt pour obtenir le resultat dans un fichier3.txt
j'ai reussi a compter le nombre de ligne par fichier.
mon sousci est de comparer chaque ligne dans le fichier1 avec toutes les lignes du fichier2 si elle existe je fais rien et si elle n'existe pas je dois la copier dans le fichier3 (dans un seul sens).
Merci d'avance pour vos réponses et aides.
(en c# sinon en vbs)
Karim
A voir également:
Comparateur de fichier en ligne
Powershell comparateur - Meilleures réponses
Comparer deux fichier en ligne - Meilleures réponses
karim91000
Messages postés5Date d'inscriptionlundi 31 mars 2008StatutMembreDernière intervention 1 avril 2008 31 mars 2008 à 21:50
Merci pour le réponse , mais je cherche vraiment en c#
le pb que j'arrive bien a compter le nombre de ligne de chaque fichier, mon grand souci est de pouvoir comprer le contenu de chaque ligne du fichier 1 avec ttes les lignes du fichier2 .
//La partie que je ne maitrise pas...en bas
//comment faire pour comparer chaque ligne du fichier1 avec toute les lignes du fichier2
//si la lignefichier1 n'existe pas dans le fichier2 je la copier dans fichier3 sinon je fai rien
for (i=0;i<nb_line2;i++)
//{
while((findLine=fileReader1.ReadLine())!=null)
{
for (i=0;i<nb_line2;i++)
//findLine4[i]=findLine;
// if (findLine4[i]!=findLine)
//{
//findLine=fileReader.ReadLine();
//La partie que je ne maitrise pas...en bas
//comment faire pour comparer chaque ligne du fichier1 avec toute les lignes du fichier2
//si la lignefichier1 n'existe pas dans le fichier2 je la copier dans fichier3 sinon je fai rien
for (i=0;i<nb_line2;i++)
//{
while((findLine=fileReader1.ReadLine())!=null)
{
for (i=0;i<nb_line2;i++)
//findLine4[i]=findLine;
// if (findLine4[i]!=findLine)
//{
//findLine=fileReader.ReadLine();
if (contenu1.count == contenu2.count) --> meme nombre de ligne
Ensuite
parcours des collections
foreach (string ligne in contenu1)
{
if (contenu2.contains(ligne)) --> ok
contenu3.add(ligne)
sinon
A toi de gérer je ne connais pas ton besoin
}
ecriturefichierresultat(contenu3, filename3)
Apres si l'ordre est important utilise des sortedcollection
Cette methode, te permet d'etre découpler des fichiers au passage
karim91000
Messages postés5Date d'inscriptionlundi 31 mars 2008StatutMembreDernière intervention 1 avril 2008 1 avril 2008 à 13:23
mon besoin c'est apartir de deux fichier txt (fichier1 et fichier2) de chercher chaque ligne du fichier 1 dans le fichier 2
le permier ponit : fichier1 et fichier 2 ont pas le meme nombre de ligne.
le sens de recherche est important.
le besoin c'est d'obtenir les lignes du fichier1 qu'il n'existe pas dans le fichier2 .
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201136 1 avril 2008 à 14:13
En utilisant des collections triées ca doit repondre à ton problème.
Aprs tu as peut etre un identifiant sur chaque ligne c'est encore plus simple je pense.