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.
- Crie uma StreamReader instância.
- Chame o StreamReader.ReadToEnd() método e atribua o resultado a uma cadeia de caracteres.
- 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.
- Crie uma StreamReader instância.
- Aguarde o StreamReader.ReadToEndAsync() método e atribua o resultado a uma cadeia de caracteres.
- 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