Publicado em

Classe StreamReader em C#

Partilhar:

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

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

  1. 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.
  2. Fechar o StreamReader: O uso do bloco using garante que o StreamReader seja fechado após a sua utilização, liberando recursos.
  3. 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.

Happy coding!