Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

quintelab

[Resolvido] Lendo arquivos texto

Recommended Posts

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:

Imagem Postada

 

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:

Imagem Postada

 

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.