50 votes

Lire le contenu d'un fichier dans une chaîne de caractères dans .Net Compact Framework

Je développe une application pour les appareils mobiles avec le .net compact framework 2.0. J'essaie de charger le contenu d'un fichier dans un objet de type chaîne de caractères, mais je n'y parviens pas. Il n'y a pas de ReadToEnd() dans la méthode System.IO.StreamReader classe. Existe-t-il une autre classe qui offre cette fonctionnalité ?

98voto

Jethro Points 4522
StringBuilder sb = new StringBuilder();
using (StreamReader sr = new StreamReader("TestFile.txt")) 
{
    String line;
    // Read and display lines from the file until the end of 
    // the file is reached.
    while ((line = sr.ReadLine()) != null) 
    {
        sb.AppendLine(line);
    }
}
string allines = sb.ToString();

41voto

Paulo Diogo Points 551
string text = string.Empty;
using (StreamReader streamReader = new StreamReader(filePath, Encoding.UTF8))
{            
    text = streamReader.ReadToEnd();
}

Autre option :

string[] lines = File.ReadAllLines("file.txt");

https://gist.github.com/paulodiogo/9134300

C'est simple !

7voto

Brad Christie Points 58505

File.ReadAllText(file) ce que vous recherchez ?

Il y a aussi File.ReadAllLines(file) si vous préférez qu'il soit décomposé en un tableau par ligne.

3voto

Nikki9696 Points 3084

Je ne pense pas que file.ReadAllText soit supporté dans le compact Framework. Essayez d'utiliser cette méthode streamreader à la place.

http://msdn.microsoft.com/en-us/library/aa446542.aspx#netcfperf_topic039

Il s'agit d'un exemple en VB, mais il est assez facile de le traduire en C#. ReadLine renvoie null lorsqu'il n'y a plus de lignes à lire. Vous pouvez l'ajouter à un tampon de chaîne de caractères si vous le souhaitez.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X