Share via


Ler texto de um arquivo

Os exemplos a seguir mostram como ler de forma síncrona e assíncrona o texto de um arquivo de texto usando o .NET para aplicativos de área de trabalho. Nos dois exemplos, ao criar uma instância da classe StreamReader, você fornece o caminho relativo ou absoluto para o arquivo.

Observação

Esses exemplos de código não se aplicam a aplicativos Universal Windows (UWP) porque o Windows Runtime fornece diferentes tipos de fluxos para leitura e gravação em arquivos. Para obter mais informações, consulte Trabalho de UWP com arquivos. Para obter exemplos que mostram como converter entre fluxos do .NET Framework e fluxos do Windows Runtime, veja Como converter entre fluxos do .NET Framework e do Windows Runtime.

Pré-requisitos

  • Crie um arquivo de texto chamado TestFile.txt na mesma pasta que o aplicativo.

    Adicione algum conteúdo ao arquivo de texto. Os exemplos neste artigo gravam o conteúdo do arquivo de texto no console.

Ler um arquivo

O exemplo a seguir mostra uma operação de leitura síncrona em um aplicativo de console. O conteúdo do arquivo é lido e armazenado em uma variável de cadeia de caracteres, que é então gravada no console.

  1. Crie uma instância de StreamReader.
  2. Chame o método StreamReader.ReadToEnd() e atribua o resultado a uma cadeia de caracteres.
  3. Escreva a saída no console.
try
{
    // Open the text file using a stream reader.
    using StreamReader reader = new("TestFile.txt");

    // Read the stream as a string.
    string text = reader.ReadToEnd();

    // Write the text to the console.
    Console.WriteLine(text);
}
catch (IOException e)
{
    Console.WriteLine("The file could not be read:");
    Console.WriteLine(e.Message);
}
Try
    ' Open the text file using a stream reader.
    Using reader As New StreamReader("TestFile.txt")

        ' Read the stream as a string.
        Dim text As String = reader.ReadToEnd()

        ' Write the text to the console.
        Console.WriteLine(text)

    End Using
Catch ex As IOException
    Console.WriteLine("The file could not be read:")
    Console.WriteLine(ex.Message)
End Try

Ler um arquivo de maneira assíncrona

O exemplo a seguir mostra uma operação de leitura assíncrona em um aplicativo de console. O conteúdo do arquivo é lido e armazenado em uma variável de cadeia de caracteres, que é então gravada no console.

  1. Crie uma instância de StreamReader.
  2. Aguarde o método StreamReader.ReadToEndAsync() e atribua o resultado a uma cadeia de caracteres.
  3. Escreva a saída no console.
try
{
    // Open the text file using a stream reader.
    using StreamReader reader = new("TestFile.txt");

    // Read the stream as a string.
    string text = await reader.ReadToEndAsync();

    // Write the text to the console.
    Console.WriteLine(text);
}
catch (IOException e)
{
    Console.WriteLine("The file could not be read:");
    Console.WriteLine(e.Message);
}
Try
    ' Open the text file using a stream reader.
    Using reader As New StreamReader("TestFile.txt")

        ' Read the stream as a string.
        Dim text As String = Await reader.ReadToEndAsync()

        ' Write the text to the console.
        Console.WriteLine(text)

    End Using
Catch ex As IOException
    Console.WriteLine("The file could not be read:")
    Console.WriteLine(ex.Message)
End Try