Qual é a melhor maneira de ler o conteúdo de um arquivo de texto em uma string no .NET?

StackOverflow https://stackoverflow.com/questions/42286

  •  09-06-2019
  •  | 
  •  

Pergunta

Parece que deveria haver algo mais curto que isso:

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

       return fileContents;
   }
   catch
   {
       throw;
   }
}
Foi útil?

Solução

Primeiro de tudo, o título pede "como escrever o conteúdo do strnig em um arquivo de texto", mas seu exemplo é para "como ler o conteúdo de um arquivo de texto em uma string.

Responda às duas perguntas:

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

Consulte também ReadAllLines/WriteAllLines e ReadAllBytes/WriteAllBytes se em vez de uma string você quiser uma matriz de strings ou uma matriz de bytes.

Outras dicas

string text = File.ReadAllText("c:\file1.txt");
File.WriteAllText("c:\file2.txt", text);

Verifique também ReadAllLines/WriteAllLines e ReadAllBytes/WriteAllBytes

Não há sentido nesse manipulador de exceções.Não faz nada.Esta é apenas uma versão abreviada do seu código, tudo bem:

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

File.ReadAllText() talvez?

ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.en/fxref_mscorlib/html/4803f846-3d8a-de8a-18eb-32cfcd038f76.htm se você tiver a ajuda do VS2008 instalada.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top