- Autor
- Nome
- Nelson Silva
- Social
Introdução
Em qualquer linguagem de programação, a leitura e escrita de ficheiros é uma operação fundamental. No mundo do C#, a StreamReader
é uma das classes mais utilizadas para ler ficheiros de texto. Esta classe, parte do namespace System.IO
, fornece métodos que facilitam a leitura de carateres, linhas ou todo o conteúdo de um ficheiro.
- Breve História
- Como a Classe Funciona
- StreamReader.ReadLine()
- StreamReader.ReadToEnd()
- Exemplo Ilustrativo
- Dicas e Melhores Práticas
Breve História
Antes do advento dos modernos frameworks e bibliotecas de programação, a leitura de ficheiros era uma tarefa tediosa e propensa a erros. Com a introdução do .NET Framework e, posteriormente, do .NET Core, o C# recebeu uma série de classes para simplificar operações de I/O, sendo a StreamReader
uma delas.
Como a Classe Funciona
A classe StreamReader
é uma classe de leitura que fornece métodos para ler do fluxo de caracteres de um ficheiro. Aqui estão os seus métodos mais notáveis:
StreamReader.ReadLine()
- Lê a próxima linha do ficheiro até encontrar uma quebra de linha.
- Retorna
null
quando não há mais linhas a serem lidas.
StreamReader.ReadToEnd()
- Lê todo o ficheiro até ao final, retornando todo o seu conteúdo.
- Útil para ficheiros menores, mas deve ser usado com cautela em ficheiros grandes devido a questões de desempenho.
Exemplo Ilustrativo
Vamos considerar um cenário onde se tem um ficheiro de texto com uma lista de países. O objetivo é ler e imprimir cada país.
using System;
using System.IO;
namespace Exemplos {
class ProgramaStreamReader {
public static void Main() {
using (StreamReader leitor = new StreamReader("Ficheiro.txt")) {
string linha;
while ((linha = leitor.ReadLine()) != null) {
Console.WriteLine(linha);
}
}
}
}
}
Dicas e Melhores Práticas
- Manipulação Excepcional: Sempre que estiver a trabalhar com operações de I/O, esteja preparado para possíveis erros. Use blocos
try-catch
para capturar e tratar exceções. - Fechar o StreamReader: O uso do bloco
using
garante que oStreamReader
seja fechado após a sua utilização, liberando recursos. - Performance: Ao lidar com ficheiros grandes, evite o método
ReadToEnd()
, pois pode sobrecarregar a memória.
Conclusão
A classe StreamReader
é uma ferramenta poderosa no arsenal de um programador C#. Oferece uma abordagem simplificada e eficaz para ler ficheiros de texto, tornando a programação mais fluida e menos propensa a erros. Investir tempo para entender os seus métodos e melhores práticas certamente valerá a pena nos seus futuros projetos.