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