Lire contenu fichier

Résolu
Signaler
Messages postés
115
Date d'inscription
mardi 1 février 2005
Statut
Membre
Dernière intervention
8 octobre 2007
-
Messages postés
115
Date d'inscription
mardi 1 février 2005
Statut
Membre
Dernière intervention
8 octobre 2007
-
Bonjour,



Voila j'aimerais parcourir un fichier texte, c'est à dire récupérer mot
a mot tous les mots d'un fichier texte, et non récupérer une ligne
entiere (qui contient plusieurs mots)



Je sais que en C++ cela est possible en utilisant le type stringstream

mais j'aimerais connaître la solution en C#



Merci de me répondre.

5 réponses

Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
14 février 2014
38
L'idée principale, c'est celle-ci :


// Lecture du fichier
StreamReader sr =
new StreamReader(File.OpenRead(openFileDialog1.FileName));

string szText = sr.ReadToEnd();

// Ensuite tu récupères tous les mots :
Regex regex = new Regex(@"\w+");
MatchCollection matches = regex.Matches(szText);

// et maintenant dans le Value de chaque matches[n]
// tu auras un mot


<HR>
Sébastien FERRAND

Blog : http://blogs.developpeur.org/sebmafate
Messages postés
805
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
30 octobre 2010

Salut
Si tu veux lire ttle ficher et le mettre dans un string , puis parcourir ce string, tu peux utiliser le System.IO.File.ReadAllText(), si tu veux pas mettre tt le fichier en mémoire, voila la soluce
http://www.csharpfr.com/forum.v2.aspx?ID=505649
YaoYao !!
1 + 1 = 10
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
14 février 2014
38
et pis pour récupérer mot à mot... l'expression régulière qui va bien @"\w+"


<HR>
Sébastien FERRAND

Blog : http://blogs.developpeur.org/sebmafate
Messages postés
115
Date d'inscription
mardi 1 février 2005
Statut
Membre
Dernière intervention
8 octobre 2007

Il faut donc utiliser la classe Regex ?



Sinon actuellement j'utilise la méthode Split() de la classe string



mais c'est pas super car il faut penser a tous les caracteres (espace,virgule,...) entre chaque mots.



Sinon comment utiliser ton expression reguliere ?



Merci de m'avoir repondu.
Messages postés
115
Date d'inscription
mardi 1 février 2005
Statut
Membre
Dernière intervention
8 octobre 2007

Ok merci a toi de m'avoir répondu aussi vite.