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:
No nosso formulário iremos utilizar apenas o Page_Load para o nosso teste. Para trabalhar com arquivo é necessário importar a classe
IO
CODE
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.
CODE
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.
CODE
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.
CODE
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:
CODE
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:
CODE
reader.Close()
No final então, nosso código ficou da seguinte forma:
CODE
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:
Versão c# -->
http://www.quintelab.com.br/ShowArtigos.asp?codigo=5
Espero que seja útil. Abraços...
Comentários:
David Cruvinel disse:
mto bom....
Ver o restante dos comentários no fórum (e aproveitar pra comentar também !).