Olá pessoal, meu nome é Mauricio Junior. Estou disposto a ensinar e mostrar com exemplos práticos como ler texto dentro de um arquivo de extensão ”txt”.

O artigo anterior, mostrei como criar um arquivo de mesma extensão, depois de criar um arquivo, é necessário ler o mesmo e mostrar em tela.

 

- Criando arquivo txt.

 

 

Requisitos:

 

- Instalar Framework 2.0;

- Ter instalado o Visual Studio.NET 2005;

- Conhecimento básico de C#.NET 2.0;

- Ler o artigo anterior.

 

 

De acordo com o artigo anterior, criei uma classe chamada Arquivo.cs, Criei um método responsável em criar um arquivo txt com a data do dia em um local especificado dentro do arquivo de configuração web.config.

 

Para ler e mostrar na tela um arquivo txt, é necessário criar um outro método responsável apenas por ler e retornar o valor. O nome do método é: LerArquivo().

O caminho será usado o mesmo do arquivo de configuração.  (Ler.1.1)

 

 

 

 

 

 

  <appSettings>

    <add key="enderecoArquivo" value="C:\Documents and Settings\mauricio.junior\Desktop\Escrevendo arquivo texto\code"/>

  </appSettings>

 

Referência: Ler.1.1

 

 

Dentro da classe “Arquivo.cs” como falado anteriormente, criei um novo método; mas antes de mostrá-lo, adicionei uma variável e gerei Get e Set. (Ler.1.2)

 

 

 

    #region get set

    public static string sPath;

 

    public static string SPath

    {

        get { return sPath; }

        set { sPath = value; }

    }

    #endregion

 

 

Referência: Ler.1.2

 

 

Criei essa variável (Referência Ler.1.2) apenas para guardar o caminho especificado.

 

O próximo passo foi declarar uma nova variável chamada retorno. Irei armazenar todos os valores do txt dentro dessa variável e retorná-la ao método que chamou. (Referência Ler 1.3)

 

 

 

 

 

 

public string retorno;

 

Referência: Ler.1.3

 

 

Passei agora para criação do método chamado LerArquivo(). (Referência Ler.1.4)

 

 

public String LerArquivo()

    {

        SPath = @"" + System.Configuration.ConfigurationManager.AppSettings["enderecoArquivo"].ToString() + "\\" + DateTime.Now.Day + ".txt";

        string s = "";

 

        try

        {

            FileInfo fi = new FileInfo(SPath);

 

            using (StreamReader sr = fi.OpenText())

            {

                while ((s = sr.ReadLine()) != null)

                {

                    retorno = retorno + s + "<br>";

                }

            }

            return retorno;

        }

        catch (Exception ex)

        {

            throw ex;

        }

    }

 

Referência: Ler.1.4

 

Explicação:

 

 

 

public String LerArquivo()

 

Referência: Ler.1.5

 

Analisando a assinatura do método, é pública, não recebe parâmetro algum e retorna valores do tipo string.

 

 

 

SPath = @"" + System.Configuration.ConfigurationManager.AppSettings["enderecoArquivo"].ToString() + "\\" + DateTime.Now.Day + ".txt";

        string s = "";

 

Referência: Ler.1.6

 

A referência (Ler.1.6) atribuo a variável SPath criada anteriormente com Get e Set o valor do arquivo de configuração adicionado. Declarei outra variável do tipo string chamada “s”. Atribui o valor vazio a ela.

 

 

 

     try

        {

            FileInfo fi = new FileInfo(SPath);

 

            using (StreamReader sr = fi.OpenText())

            {

                while ((s = sr.ReadLine()) != null)

                {

                    retorno = retorno + s + "<br>";

                }

            }

            return retorno;

        }

 

Referência: Ler.1.7

 

 

Explicação:

 

Dentro do bloco “try”, utilizei o “FileInfo” da mesma forma do artigo anterior citado no início. Criei uma variável do tipo FileInfo colocando o endereço do arquivo, com isso adicionei a SPath.

O passo seguinte, abri o arquivo e enquanto o StreamReader for diferente de null, adiciono a variável “s” à variável retorno. No final coloco o comando return retorno.

 

 

 

        catch (Exception ex)

        {

            throw ex;

        }

 

Referência: Ler.1.8

 

 

Dentro do bloco “catch”, apenas mostro throw ex; para retornar o erro na página ou método que o chamou.

 

A referência (Ler.1.9) mostro apenas todo o método criado.

 

Referência: Ler.1.9

 

 

Depois que criei todo método responsável em ler o arquivo e retornar os valores, só me resta chamá-lo na página “default.aspx.cs”. (Referência Ler.1.10)

 

Abri a página “default.aspx” e fui direto para o code behing. Adicionei as seguintes linhas. (Referência Ler.1.10)

 

 

 

    protected void Page_Load(object sender, EventArgs e)

    {

        Arquivo arq = new Arquivo();

        Response.Write(arq.LerArquivo());

    }

 

Referência: Ler.1.10

 

 

Criei uma instância da classe “Arquivo”, na segunda linha coloquei o comando para escrever na tela “Response.Write” e dentro do parênteses, coloquei a variável criada mais o nome do método criado, ou seja, “Response.Write(arq.LerArquivo());”.

 

 

Referência: Ler.1.11

 

 

A referência (Ler.1.11) mostro apenas como ficou o método na página “default.aspx”.

 

Iniciei o projeto apertando F5 e logo apareceu a referência (Ler.1.12), ou seja, o que está escrito dentro do arquivo texto.

 

 

Referência: Ler.1.12

 

 

 

 

Bom, fico por aqui com mais um artigo.

Espero ter ajudado.

Qualquer dúvida, favor entrar em contato via e-mail mauricio@aspneti.com.

 

 

Livros publicados:

 

 

 

Mauricio Junior

www.aspneti.com

www.ascompras.com