Desenvolvimento - C#

Crie um arquivo TXT e acrescente valores usando C#

O objetivo desse artigo é apresentar como você pode efetuar transações em C#, através de um arquivo TXT.

por Thiago Cruz



Introdução

Os arquivos TXT"s podem ser uma excelente forma de trafegar dados entre aplicações. Sabemos que agora estamos no mundo do XML, mas na condição de alocação do arquivo para uma futura importação, ou até na leitura / extração de informações de portas seriais, o TXT atende bem a demanda para uma futura importação a um banco de dados.

Faça o Download do código para facilitar o entendimento desse artigo - clique aqui.

Sobre o artigo

1) Stream
2) Classes File e Directory
3) Classe FileInfo
4) Vamos escrever dados em um arquivo TXT
5) Conclusão

1)Streams

Um stream é uma representação abstrata de um dispositivo serial. Um dispositivo como uma impressora, um local da memória ou qualquer objeto que suporte a leitura e a escrita nele de modo linear.

2) Classes File e Directory

2.1 Métodos úteis da classe "File":

2.2 Métodos úteis da classe "Diretory"

3) Classe FileInfo

A classe FileInfo não possui métodos estáticos e pode ser usada apenas em objetos instanciado. O objeto FileInfo é como se fosse um arquivo em um disco. OBS: Para escrevermos ou lermos um arquivo, é necessário criarmos um objeto Stream. Vamos criar um objeto FileInfo, indicando o nome do arquivo e seu diretório.

FileInfo aFile = new FileInfo ("c:/raptors.txt");

Diferente da classe FileInfo, que não é uma classe estática, a classe File requer um parâmetro de string especificando a localização do arquivo para cada chamada de método.

OBS: As duas chamadas abaixo efetuam o mesmo resultado.

FileInfo aFile = new FileInfo("raptors.txt");
If (aFile.Exists)
Console.WriteLine("Esse arquivo existe");
If (File.Exists("raptors.txt"))
Console.WriteLine("Esse arquivo existe");

É sensato que você utilize a classe estática File se você estiver realizando uma única chamada de método do objeto. Caso a chamada o seu aplicativo estiver realizando várias operações em um arquivo, seria mais sensato instanciar o objeto FileInfo e usar os seus métodos, economizando mais tempo porque o objeto já estará referenciando o arquivo correto no sistema de arquivos, enquanto uma classe estática terá de encontrá-lo a cada vez.

ATENÇÃO: A grande parte dos métodos FileInfo parecem com os métodos File.

4) Vamos escrever dados em um arquivo TXT, conforme o código da figura 1.

OBS: Todos esses passos foram realizados no Visual Studio.NET 2003, com o objetivo de apresentar como se cria um arquivo TXT e implementa valores dentro do mesmo. O exemplo é bem simples, mas pode ser explorado de acordo com a sua necessidade.

4.1) Crie um projeto: C# Console Aplication, conforme a figura 2

4.2) Acrescente no topo do arquivo Class1.cs

using System.IO;
using System.Text;

4.3) O código abaixo abre o arquivo e caso ele não exista o mesmo é criado.

//Abrir o arquivo
StreamWriter valor = new treamWriter("D:\\Inetpub\\wwwroot\\raptors.txt", true, Encoding.ASCII); 

4.4) Efetuamos um Loop para preencher o arquivo com valores numérios, de 1 a 9.

//Loop para implementação dos numeros no TXT.
for(i=0; i < 10; i++)
{
  valor.Write(i);
}

4.5) Após o Loop fechamos o arquivo.

//Fecha o arquivo
valor.Close();

4.6) Após compilado o projeto, informamos que tudo encontra-se em perfeito estado, conforme a figura 3.

catch(Exception e)
{
Console.WriteLine("Exception: " + e.Message);
}
finally 
{
Console.WriteLine("Parabéns, agora mais um arquivo dos Raptors.");
}

4.7) Confira o resultado gerado, conforme a figura 4.

Faça o Download do código para facilitar o entendimento desse artigo - clique aqui.

5) Conclusão

Com a facilidade que o .Net proporciona, o objetivo desse arquivo é apresentar como você pode efetuar transações em C#, através de um arquivo TXT.

Thiago Cruz

Thiago Cruz - Arquiteto de Projetos na FórumAccess, já atuou como professor de Graduação e Pós-Graduação em tecnologias .NET e Administração de banco de dados. Atualmente vem desenvolvendo projetos de Frameworks e realizando consultorias em multinacionais. Ministrou palestras em conceituados eventos como Tech Ed Brasil 2005, Community Days e Road Show Ineta 2006.
É Bacharel em Administração de Sistemas de Informação, possui um MBA em Gestão Estratégica de Negócios. Participa da coordenação de Marketing do INETA BRASIL, é um dos líderes da comunidade ".Net Raptors" (
www.dotnetraptors.com.br), responsável pela edição de vídeos on-line do portal Linha de Código.
Pode ser encontrado no e-mail: thiago.cruz@dotnetraptors.com.br.