O C# utiliza o Stream para ler e escrever em arquivos. Sempre que uma aplicação lê ou escreve em arquivos ou liga a outro computador numa rede, envia e recebe bytes. Assim, sempre que se pretender ler ou escrever dados (bytes) num arquivo, deve ser utilizado ou criado um objeto Stream.

A classe Stream está disponível na biblioteca IO, por isso não devemos nos esquecer de a incluir no arquivo da classe.
Using System.IO;Para criar um objeto do tipo writer devemos fazer:
StreamWriter wr = new StreamWriter(@"c:\pasta\arquivo.txt", true);Colocar o @ antes do path do arquivo faz com que o compilador não interprete a barra “\” como sendo uma mudança de linha ou tabulação (\n ou \t), e sim como uma string.
A seguir podemos escrever no arquivo a função de escrita:
wr.WriteLine("Este é o texto a escrever no arquivo");Não se esquecer de fechar o arquivo no final da escrita para que não fique aberto a outros programas:
wr.Close();Para a leitura de arquivos utiliza-se o StreamReader:
StreamReader rd = new StreamReader(@"c:\pasta\ficheiro.txt");Para melhor exemplificar, vamos criar um arquivo onde se escreverá duas linhas e, depois de escrito, vai ler essas duas linhas.
StreamWriter wr = new StreamWriter(@"c:\pasta\doc.txt", true);<br />wr.WriteLine("Primeira linha");<br />wr.WriteLine("Segunda linha");<br />wr.Close();<br />StreamReader rd = new StreamReader(@"c:\pasta\doc.txt");<br />while(!rd.EndOfStream){<br />string linha = rd.ReadLine();<br />Console.WriteLine(linha);<br />}<br />rd.Close();No ciclo while, irá ler todas a linhas enquanto estas tiverem algo escrito (EndOfStream).
Tal como na escrita, também na leitura devemos fechar o arquivo com Close().
Abraços!







