Partilhar via


Ler texto de um ficheiro

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

Nota

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

Pré-requisitos

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

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

Ler um ficheiro

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 é gravada no console.

  1. Crie uma StreamReader instância.
  2. Chame o StreamReader.ReadToEnd() método 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 ficheiro de forma 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 é gravada no console.

  1. Crie uma StreamReader instância.
  2. Aguarde o StreamReader.ReadToEndAsync() método 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