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