Чтение содержимого файла в строку в .Net Compact Framework - PullRequest
50 голосов
/ 28 июля 2011

Я занимаюсь разработкой приложения для мобильных устройств с помощью .net compact framework 2.0.Я пытаюсь загрузить содержимое файла в строковый объект, но почему-то не могу это сделать.В классе System.IO.StreamReader нет метода ReadToEnd().Есть ли другой класс, который обеспечивает эту функциональность?

Ответы [ 4 ]

97 голосов
/ 28 июля 2011
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();
41 голосов
/ 24 июля 2012
string text = string.Empty;
using (StreamReader streamReader = new StreamReader(filePath, Encoding.UTF8))
{            
    text = streamReader.ReadToEnd();
}

Другой вариант:

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

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

Simple!

7 голосов
/ 28 июля 2011

File.ReadAllText(file) что вы ищете?

Также есть File.ReadAllLines(file), если вы предпочитаете, чтобы он разбивался на массив за строкой.

3 голосов
/ 28 июля 2011

Я не думаю, что file.ReadAllText поддерживается в компактной среде. Попробуйте использовать этот метод для чтения потоков.

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

Это пример VB, но его довольно легко перевести на C # ReadLine возвращает ноль, когда у него больше нет строк для чтения. Вы можете добавить его в строковый буфер, если хотите.

...