C# comparer contenu de plusieurs fichiers texte

Résolu
marouanesha Messages postés 6 Date d'inscription lundi 9 avril 2018 Statut Membre Dernière intervention 12 avril 2018 - Modifié le 9 avril 2018 à 11:53
Whismeril Messages postés 19056 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 12 juin 2024 - 14 avril 2018 à 21:53
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.


A voir également:

2 réponses

Whismeril Messages postés 19056 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 12 juin 2024 657
9 avril 2018 à 13:08
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?
0
marouanesha Messages postés 6 Date d'inscription lundi 9 avril 2018 Statut Membre Dernière intervention 12 avril 2018
Modifié le 9 avril 2018 à 14:54
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 .
0
Whismeril Messages postés 19056 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 12 juin 2024 657
9 avril 2018 à 15:37
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.
0
marouanesha Messages postés 6 Date d'inscription lundi 9 avril 2018 Statut Membre Dernière intervention 12 avril 2018
Modifié le 9 avril 2018 à 16:21
j'aimerais bien que vous m'aidiez par code "je suis debutant avec c#" .
Merci.
0
Whismeril Messages postés 19056 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 12 juin 2024 657
9 avril 2018 à 16:07
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
0
marouanesha Messages postés 6 Date d'inscription lundi 9 avril 2018 Statut Membre Dernière intervention 12 avril 2018
Modifié le 9 avril 2018 à 16:15
enfaite je voulais dire c# non pas c my bad
en tout cas merci pour ta réponse
0
marouanesha Messages postés 6 Date d'inscription lundi 9 avril 2018 Statut Membre Dernière intervention 12 avril 2018
10 avril 2018 à 11:35
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 ?
0
Whismeril Messages postés 19056 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 12 juin 2024 657
10 avril 2018 à 22:20
C’est possible avec un dictionnaire ou en ecrivant une classe dédiée
0
Rejoignez-nous