C# comparer contenu de plusieurs fichiers texte [Résolu]

Messages postés
6
Date d'inscription
lundi 9 avril 2018
Statut
Membre
Dernière intervention
12 avril 2018
-
Bonjour : (console application)
je travaille dans un projet depuis quelques jours
j'ai un dossier contenant des fichiers texte ,si une ligne de ces fichier se répéte 4 fois ou plus dans les autre fichiers je dois l'afficher .
quand j'ai chercher j'ai trouve seulment methode de comparaison entre 2 fichier texte.
Merci d'avance.


Afficher la suite 

2 réponses

Messages postés
14099
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 janvier 2020
330
0
Merci
Je ne suis pas sûr d'avoir bien compris
Là dans log3 tu as la ligne
Article : 5895479 innexistant
(ps y'a qu'un n à inexistant)

Et tu veux savoir si cette ligne exactement, est présente au moins 4 fois dans tous les autres fichiers? ou dans au moins 1 autre fichier?
marouanesha
Messages postés
6
Date d'inscription
lundi 9 avril 2018
Statut
Membre
Dernière intervention
12 avril 2018
-
par exemple je veux trouver cette ligne une seule fois mais dans 4 log différent(Article : 5895479 innexistant) dans log1 ,log2 ,log6 ext..
normalement on peux pas trouver la meme ligne 2 fois dans le méme log j'ai saisi le log 3 manuellement c pour cela j'ai commis cette faute my bad .
Commenter la réponse de Whismeril
Messages postés
14099
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 janvier 2020
330
0
Merci
Ok c'est plus simple alors.

Tu commences par charger la liste des fichiers, voir la classe Directory.
Ensuite tu parcours la liste, tu charges dans un dictionnaire en clé le nom du fichier et en valeur le texte entier avec File.GetAllText.

Ensuite pour chaque entrée du dictionnaire, tu splites le textes pour obtenir les lignes et pour chaque ligne tu regardes la valeur des autres entrées du dictionnaires pour savoir si le texte est présent, avec la méthode Contains.
marouanesha
Messages postés
6
Date d'inscription
lundi 9 avril 2018
Statut
Membre
Dernière intervention
12 avril 2018
-
j'aimerais bien que vous m'aidiez par code "je suis debutant avec c#" .
Merci.
Whismeril
Messages postés
14099
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 janvier 2020
330 -
Alors si tu fait du C, je ne peux rien pour toi.
Si tu fais du C#, essaye ce que je t'ai proposé, poste le code que tu as essayé si tu as un problème.
Merci de rendre ce code lisible en utilisant la coloration syntaxique, voir ici http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Te donner la solution, ça n'est pas t'aider.
http://www.commentcamarche.net/faq/10925-demander-de-l-aide-pour-vos-exercices-sur-ccm
marouanesha
Messages postés
6
Date d'inscription
lundi 9 avril 2018
Statut
Membre
Dernière intervention
12 avril 2018
-
enfaite je voulais dire c# non pas c my bad
en tout cas merci pour ta réponse
marouanesha
Messages postés
6
Date d'inscription
lundi 9 avril 2018
Statut
Membre
Dernière intervention
12 avril 2018
-
Bonjour whismeril cv,
j'ai essayer ce code :
foreach (string file in Directory.GetFiles("C:\\Users\\Marouane\\Desktop\\leslogs"))
{
string ligne;
StreamReader sr = new StreamReader(file);
ligne = sr.ReadLine();
}
il m'affiche les ligne qui se répétent aux moin 2 fois
mais j'ai encore besoin d'aide
sinon
j'ai stocke tous les fichier texte dans une variable y'a t'il moyen de compter et afficher les ligne qui se rassemble dans cette variable ?
Whismeril
Messages postés
14099
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 janvier 2020
330 -
C’est possible avec un dictionnaire ou en ecrivant une classe dédiée
Commenter la réponse de Whismeril