Olá pessoal, meu nome é Mauricio Junior e estou disposto a mostrar como funciona a formar de criar arquivo usando o Visual Studio.NET 2005. O próximo artigo, falarei sobre ler o arquivo criado.
Requisitos:
- Framework 2.0 instalado;
- Visual Studio .NET 2005 instalado;
- Conhecimentos básicos C#.NET (procuro ensinar de forma simples)
O primeiro passo, abri o Visual Studio.NET 2005 e cliquei em “Create Web Site”, escolhi o caminho e linguagem utilizada para o desenvolvimento. (Referência 1.1)

Referência: 1.1
Criei um projeto do tipo ASP.NET Web Site, com a linguagem C# (sharp) e coloquei em um endereço específico, ou seja, sem utilizar o IIS instalado na máquina, usarei o servidor de aplicação do próprio Visual Studio.NET 2005.
Depois do projeto criado, acessei o arquivo de configuração Web.config e adicionei um AppSettings com chave e valor. (Referência 1.2)

Referência: 1.2
O código acrescentado está na referência 1.3.
|
<appSettings>
<add key="enderecoArquivo" value="C:\Documents and Settings\mauricio.junior\Desktop\Escrevendo arquivo texto\code"/>
</appSettings>
|
Referência: 1.3
Essa chave é apenas para atribuir o caminho do arquivo onde irei criar, ou seja, é melhor colocar essa configuração no “web.config”, se houver mudança do caminho, basta mudar apenas no arquivo de configuração e não é necessário recompilar a aplicação.
Depois que adicionei o endereço, passo para a parte de coidificar.
Criando classe
Nesse passo, criarei uma classe responsável para criar um arquivo no local especificado no arquivo de configuração. Cliquei com o botão direito em cima do SOLUTION EXPLORER, indo para a opção ADD NEW ITEM... (Referência 1.4)

Referência: 1.4
Em seguida abri uma opção para escolher o tipo de arquivo e adicionar um nome necessário. (Referência 1.5)

Referência: 1.5
A opção CLASS na tela TEMPLATES, coloquei o nome de “Arquivo.cs” e escolhi a linguagem Visual C#. Em seguida cliquei no botão ADD.
Cliquei no botão, o Visual Studio.NET 2005 existe um funcionalidade onde toda classe fica em uma pasta pacote exclusivamente para classes. Com isso, o mesmo pergunta se pode adicionar essa classe nesse pacote. (Referência 1.6)

Referência: 1.6
A classe responsável, criei um método público, estático e não retorna valor e não recebe parâmetro algum. (Referência 1.7)
|
//importes
using System.IO;
public static void CriarAquivo()
{
try
{
string path = @"" + System.Configuration.ConfigurationManager.AppSettings["enderecoArquivo"].ToString() + "\\"+DateTime.Now.Day+".txt";
FileInfo fi = new FileInfo(path);
//verificando se o arquivo existe
if (!fi.Exists)
{
//criando arquivo para depois escrever nele
using (StreamWriter sw = fi.CreateText())
{
sw.WriteLine("Olá");
sw.WriteLine("Mundo");
}
}
}
catch (System.Exception e)
{
throw new Exception("erro", e);
}
}
|
Referência: 1.7
Segue a imagem de ilustração da classe, referência 1.8.

Referência: 1.8
Explicação:
O método “estático” é para não criar uma instancia na classe que irá chamar, ou seja, coloca o nome da classe, ponto o nome do método e pronto.
Utilizo o “try” “catch” para saber se algum erro aconteceu na criação do código ou na hora da escrita. Se acontecer algum erro, o mesmo envia para a página que chamou. A primeira linha depois do “try”, é definir o endereço do arquivo; não posso esquecer de que o caminho está no arquivo de configuração. (Referência 1.9)
|
string path = @"" + System.Configuration.ConfigurationManager.AppSettings["enderecoArquivo"].ToString() + "\\"+DateTime.Now.Day+".txt";
FileInfo fi = new FileInfo(path);
|
Referência: 1.9
A referência 1.9 pego a string configurada dentro do arquivo de configuração “Web.config”, adiciono o nome do arquivo a data do dia e concateno com .txt. O passo seguinte, uso o FileInfo colocando a variável que atribui na string path.
|
//verificando se o arquivo existe
if (!fi.Exists)
{
//criando arquivo para depois escrever nele
using (StreamWriter sw = fi.CreateText())
{
sw.WriteLine("Olá");
sw.WriteLine("Mundo");
}
}
|
Referência: 1.10
A referência 1.10, verifico se existe o arquivo, se não existe ele entra para criá-lo, abaixo, crio o arquivo com o comando “CreateText()”. O comando “sw.WriteLine escreve dentro do arquivo. O “WriteLine” sempre adiciona mais uma linha automaticamente.
|
}
catch (System.Exception e)
{
throw new Exception("erro", e);
}
|
Referência: 1.11
Verifico apenas se aconteceu um erro para retorná-lo junto a classe que chamou.
Depois de criado o método na classe “Arquivo.cs”, basta só chamá-lo.
Abri o arquivo “Default.cs” e adicionei um comando dentro do método “Page_Load”. Referência 1.12.
|
protected void Page_Load(object sender, EventArgs e)
{
Arquivo.CriarAquivo();
}
|
Referência: 1.12
Essa linha de comando apenas chama a classe estática criada anteriormente. Ilustração da classe. (Referência 1.13)

Referência: 1.13
Apertei F5 para iniciar o projeto do Visual Studio.NET 2005 e fui ao caminho onde iria ser criado o arquivo. Referência 1.14.
Lá estava ele:

Referência: 1.14
Cliquei para abri-lo e lá está escrito. Referência 1.15

Referência: 1.15
Bom, por enquanto fico por aqui.
Espero ter ajudado de alguma forma.
Qualquer dúvida, favor entrar em contato pelo e-mail: mauricio@aspneti.com.
Livros publicados:

Mauricio Junior
MCP Microsoft Certification Professional.
www.aspneti.com
www.ascompras.com