Какой лучший способ прочитать содержимое текстового файла в строку в .NET? - PullRequest
4 голосов
/ 03 сентября 2008

Кажется, что должно быть что-то короче, чем это:

private string LoadFromFile(string path)
{
   try
   {
       string fileContents;
       using(StreamReader rdr = File.OpenText(path))
       {
            fileContents = rdr.ReadToEnd();
       }

       return fileContents;
   }
   catch
   {
       throw;
   }
}

Ответы [ 4 ]

17 голосов
/ 03 сентября 2008

Прежде всего, заголовок запрашивает «как записать содержимое strnig в текстовый файл» но ваш пример кода для "как читать содержимое текстового файла в строку.

Ответ на оба вопроса:

using System.IO;
...
string filename = "C:/example.txt";
string content = File.ReadAllText(filename);
File.WriteAllText(filename, content);

См. Также ReadAllLines / WriteAllLines и ReadAllBytes / WriteAllBytes, если вместо строки требуется массив строк или байтовый массив.

5 голосов
/ 03 сентября 2008
string text = File.ReadAllText("c:\file1.txt");
File.WriteAllText("c:\file2.txt", text);

Также проверьте ReadAllLines / WriteAllLines и ReadAllBytes / WriteAllBytes

4 голосов
/ 03 сентября 2008

Нет смысла в этом обработчике исключений. Это ничего не делает. Это просто сокращенная версия вашего кода, все в порядке:

 private string LoadFromFile(string path)
 {
    using(StreamReader rdr = File.OpenText(path))
      return rdr.ReadToEnd();
 }
3 голосов
/ 03 сентября 2008

File.ReadAllText () возможно?

ms-help: //MS.VSCC.v90/MS.MSDNQTR.v90.en/fxref_mscorlib/html/4803f846-3d8a-de8a-18eb-32cfcd038f76.htm, если установлена ​​справка VS2008.

...