Lendo Arquivo txt usando Visual Studio.NET 2005


por Mauricio Junior em 1/1/2011 0

 

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

 

voltar   comente  subir

 
Mauricio Junior Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; .
Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, ECODE10.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog: blog.mauriciojunior.org, Site pessoal www.mauriciojunior.org



Comentários:
Comentado por: Silvano Fontes - 19/3/2008 0:00:00
Oi Mauricio,
gostaria de saber se existe a possibilidade de ir para uma linha especifica do arquivo.
Po exemplo:
Tenho um arquivo de 1.000.000 de linhas, que é adicionado a cada instante por outro programa.
Eu fico lendo este arquivo a procura da ultima linha que li para ler dai em diante.
Quando o arquivo esta pequeno, é tranquilo, faço um loop até a linha X e leio dalí em diante, mas quando tenho 1 milhão de linhas no final do dia, o loop fica inviável.

Tem como eu ir para a linha X? Tipo um Ctrl+G?

Onrigado pela atenção,
Silvano FOntes.
Comentado por: Mauricio Junior - 24/2/2010 0:00:00
Silvado, nunca precisei fazer isso.
Sinceramente, acho que é melhor você dá um for para ir direto para a linha que deseja. O que acha?

Comente (dê sua opinião):
Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

Dicas para programar melhor
Vídeos para download
Copiando Script
Atalho novo, formatar e concatenar usando Visual Studio .NET 2010
Paginação no GridView
Registro Encontro .NET (Fotos)
ASP.MENU com Compatibilidade
Resources como padrão de mensagens
Usando Themes ASP.NET 2.0 (Parte 2)
Mensagem JavaScript com .NET
CSS no VS 2003
Criando menu dinâmico com C#.NET (Passo 2) - Com diferenciação de usuário
Descobrindo e criando tecla de atalho com Windows Forms
Sistema de Login em ASP – Parte IX (Utilizando três camadas)
Ophone The Microsoft - Vídeo
LER: prevenir ou remediar?
Windows 7 funciona até no Mac
Integração é necessário
Tecla ESC na tela WEB
Resource e Internacionalização – Parte V Usando Visual Studio.NET 2005
Microsoft Recite
IsWholeNumber
DateDiff em C#.NET
Search do Windows Live em Seu Site
Vídeo: Montando o Windows Phone em NYC
Consultando CEP via WebService
Inserindo valor na combo depois de preenchida
Criando, utilizando e agendando sistema de backup
Web abrindo aplicações locais
Vídeo: Série Atlas.NET - Parte I
Aplicativo iCotação Free
Vídeos SQL Server 2005 Express Gratuitamente
Tudo Sobre DataGrid - (ASP.NET e C#)
Permitir Teste pelo Browser no WebService
Dica para buscar nome de tabelas ou stored procedures dentro do banco de dados