.NET

3 abr, 2009

Leitura e escrita em arquivos com C#

Publicidade

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);
wr.WriteLine("Primeira linha");
wr.WriteLine("Segunda linha");
wr.Close();
StreamReader rd = new StreamReader(@"c:\pasta\doc.txt");
while(!rd.EndOfStream){
string linha = rd.ReadLine();
Console.WriteLine(linha);
}
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!

techcaffe.net