Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Linguagem C

Dominando File Streams em C#: StreamReader e StreamWriter – Guia Passo a Passo

Em I/O de arquivo C#, streams servem como intermediários entre sua aplicação e o sistema de arquivos subjacente. Eles permitem ler ou escrever arquivos de forma eficiente em memória, especialmente ao lidar com grandes conjuntos de dados.

Em vez de carregar um arquivo inteiro de 100 MB na memória — o que pode travar seu app — streams quebram os dados em pedaços gerenciáveis. Esta abordagem mantém performance suave e previne crashes.

Abaixo você encontrará exemplos concisos demonstrando como ler e escrever arquivos usando StreamReader e StreamWriter. Siga as instruções passo a passo para integrar esses padrões em seus próprios projetos.

StreamReader – Lendo Arquivos

A classe StreamReader lê texto de um arquivo uma linha por vez, passando os dados através de um buffer antes que sua aplicação os processe.

Assuma que você tem um arquivo chamado Example.txt no drive D contendo duas linhas:

Crie uma aplicação console e adicione o seguinte código ao Program.cs:

Dominando File Streams em C#: StreamReader e StreamWriter – Guia Passo a Passo

using System;
using System.IO;
namespace DemoApplication {
    class Tutorial {
        static void Main(string[] args) {
            string path = @"D:\Example.txt";
            using (StreamReader sr = File.OpenText(path)) {
                string line;
                while ((line = sr.ReadLine()) != null) {
                    Console.WriteLine(line);
                }
            }
            Console.ReadKey();
        }
    }
}

Explicação:

  1. Instanciar StreamReader com File.OpenText, abrindo o arquivo em modo somente leitura.
  2. Ler cada linha com ReadLine(), que transfere dados do arquivo para o buffer e então para a variável line.
  3. Exibir cada linha no console.

Executar este programa no Visual Studio exibe:

Dominando File Streams em C#: StreamReader e StreamWriter – Guia Passo a Passo

As duas linhas de Example.txt aparecem corretamente, provando que o reader funciona como pretendido.

StreamWriter – Escrevendo em Arquivos

Por outro lado, StreamWriter escreve texto da sua aplicação para um arquivo via buffer. Abaixo está um exemplo simples que anexa uma linha ao mesmo arquivo Example.txt.

Dominando File Streams em C#: StreamReader e StreamWriter – Guia Passo a Passo

using System;
using System.IO;
namespace DemoApplication {
    class Tutorial {
        static void Main(string[] args) {
            string path = @"D:\Example.txt";
            using (StreamWriter sw = File.AppendText(path)) {
                sw.WriteLine("Guru99 – ASP.Net");
            }
            Console.WriteLine(File.ReadAllText(path));
            Console.ReadKey();
        }
    }
}

Explicação:

  1. Instanciar StreamWriter com File.AppendText, abrindo o arquivo em modo append.
  2. Escrever uma nova linha usando WriteLine(), que empurra o texto para o buffer e então para o arquivo.
  3. Fechar o writer automaticamente via bloco using.
  4. Ler todo o conteúdo do arquivo com File.ReadAllText para confirmar a operação de escrita.

Executar este programa mostra:

Dominando File Streams em C#: StreamReader e StreamWriter – Guia Passo a Passo

O console exibe todas as três linhas, confirmando que a nova entrada foi anexada com sucesso.

Principais Conclusões

Linguagem C

  1. Laços For em C++ Explicados: Sintaxe, Fluxo e Exemplos Práticos
  2. Dominando Switch-Case em C++: Sintaxe, Uso e Exemplos Práticos
  3. Dominando Alocação Dinâmica de Arrays em C++: Guia Prático com Exemplos de Código
  4. Dominando Streams em C++: cout, cin, cerr, clog – Guia Prático
  5. Dominando std::stack em C++: Guia Completo com Exemplos Práticos
  6. Structs em C++ Explicadas com Exemplo Prático
  7. Dominando std::list em C++: Sintaxe, Funções e Exemplos Práticos
  8. Classes Abstratas em C#: Tutorial Prático com Exemplos de Código
  9. Dominando Collections em C#: Tutorial Prático com Exemplos do Mundo Real
  10. Lendo Arquivos em Java com BufferedReader – Guia Prático com Exemplos