Ir para conteúdo
Fórum Script Brasil
  • 0

Lendo arquivos texto


quintelab

Pergunta

Este artigo traz um assunto simples mas que quase todos os desenvolvedores um dia necessitaram ou necessitarão fazer, que é ler um arquivo de texto.

Temos um arquivo de texto chamado Executaveis.txt que esta no mesmo nível do nosso formulário. Este arquivo possui cinco linhas com caminhos de alguns softwares.

Arquivo texto:

Notepad.gif

No nosso formulário iremos utilizar apenas o Page_Load para o nosso teste. Para trabalhar com arquivo é necessário importar a classe IO

Imports System.IO
No Page_Load do formulário primeiro iremos declarar uma variável do tipo string que irá receber o caminho completo do nosso documento texto.
Dim vArquivo As String = Server.MapPath("Executaveis.txt")
É interessante que seja feita uma verificação para ter certeza que o arquivo existe no caminho indicado.
Dim vArquivo As String = Server.MapPath("Executaveis.txt")
If File.Exists(vArquivo) Then

End If
Através da classe File utilizada acima podemos trabalhar com vários métodos como Copy, Create, Delete e o Exists. Iremos trabalhar com a classe StreamReader que é uma implementação da classe IO, e foi desenvolvida justamente para receber caracteres. Declaramos a variável reader.
Dim vArquivo As String = Server.MapPath("Executaveis.txt")
If File.Exists(vArquivo) Then
    Dim reader As New StreamReader(vArquivo)
End If
A classe StreamReader possui uma propriedade e alguma funções. A sua propriedade é o EndOfStream que lê o do primeiro ao último caracter do arquivo. Além desta propriedade a classe possui alguma propriedades, onde as principais são: Close - responsável por fechar os objetos que utilizam a classe StreamReader Dispose - responsável por destruir todos os recursos utilizados pelo objeto System.IO.TextReader Read - responsável por ler todos os caracter por caracter ReadLine - responsável por ler determinada linha do inicio ao fim ReadToEnd - responsável por fazer a leitura de todo o documento Agora que conhecemos as principais funções da classe, iremos criar um while para percorrer todo o arquivo e a cada linha que ele encontre ele escreva em nosso formulário:
Dim vArquivo As String = Server.MapPath("Executaveis.txt")
If File.Exists(vArquivo) Then
    Dim reader As New StreamReader(vArquivo)
End If
Do While Not reader.EndOfStream
    Response.Write(reader.ReadLine & "<br>")
Loop
E no final do nosso Loop é necessário fechar nosso arquivo utilizando a propriedade já explicada Close:
reader.Close()
No final então, nosso código ficou da seguinte forma:
Imports System.IO

Partial Class _Default
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim vArquivo As String = Server.MapPath("Executaveis.txt")
        If File.Exists(vArquivo) Then
            Dim reader As New StreamReader(vArquivo)
            Do While Not reader.EndOfStream
                Response.Write(reader.ReadLine & "<br>")
            Loop
            reader.Close()
        End If
    End Sub
End Class

E o resultado em nossa pagina:

Resultado.gif

Versão em c#: http://www.quintelab.com.br/ShowArtigos.asp?codigo=5

Espero que seja útil. Abraços...

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...