PROCEDIMENTOS: Ler um arquivo de texto usando o System.IO e o Visual Basic .NET

Traduções deste artigo Traduções deste artigo
ID do artigo: 302309 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi publicado anteriormente em BR302309
Este artigo descreve uma versão beta de um produto Microsoft. As informações deste artigo são fornecidas no estado em que se encontram e estão sujeitas a alterações sem aviso prévio.

Não existe suporte formal a produto disponível por parte da Microsoft para esse produto beta. Para obter informações sobre o suporte a uma versão beta, consulte a documentação incluída nos arquivos do produto beta ou verifique no site da Web a partir do qual foi feito o download da versão.

Para obter uma versão deste artigo no Microsoft Visual C# .NET, consulte 306777.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo demonstra como recuperar informações de um arquivo de texto e usar uma classe ArrayList para exibir essas informações ao usuário. Ele está dividido nas seguintes seções:

Requisitos

Microsoft Visual Basic .NET

Lendo arquivos de texto no Visual Basic .NET

Abrir e ler arquivos para acesso de leitura é uma parte importante da funcionalidade de entrada/saída (E/S), mesmo que não seja necessário gravar no arquivo em questão. Este exemplo abre um arquivo para leitura, o que é útil para arquivos de texto, mas inapropriado para arquivos binários. Além disso, usa um dos vários métodos disponíveis para abrir o arquivo. Embora muitas estruturas de dados estejam disponíveis para armazenar informações recuperadas do arquivo, uma classe ArrayList é a estrutura mais fácil de ser usada. Para abrir e ler a partir do arquivo, este exemplo usa objetos do espaço para nomes System.IO, especificamente a classe System.IO.StreamReader.

OBSERVAÇÃO: Este exemplo requer algum formato de arquivo de texto (.txt) a ser usado para leitura.

Para carregar e ler um arquivo de texto a partir do Visual Basic .NET, siga estas etapas:
  1. Abra o Visual Studio .NET. Crie um novo aplicativo de console no Visual Basic .NET. O Visual Studio cria um Module para você, juntamente com um procedimento Main() vazio.
  2. Certifique-se de que o projeto faça referência pelo menos ao espaço para nomes System. Use a instrução Imports nos espaços para nomes System, System.IO e System.Collections para que não seja necessário qualificar declarações a partir desses espaços para nomes posteriormente no código. É necessário usar essas instruções antes de qualquer declaração.
    Imports System
    Imports System.IO
    Imports System.Collections
  3. Para abrir um arquivo para leitura, crie uma nova instância de um objeto StreamReader e passe o caminho do arquivo no construtor, da seguinte maneira:
    Dim objReader As New StreamReader("c:\test.txt")
  4. Será necessária uma variável do tipo string na qual cada linha do arquivo será armazenada à medida que o processamento for executado. Como você adicionará essas linhas a uma ArrayList, declare e crie um objeto desse tipo também.
    Dim sLine As String = ""
    Dim arrText As New ArrayList()
  5. Existem várias maneiras de ler o arquivo, incluindo o método ReadToEnd, que lê o arquivo inteiro de uma vez. Entretanto, para este exemplo, você pode usar o método ReadLine para trazer uma linha do arquivo por vez. Quando o final do arquivo for alcançado, esse método retornará "Nothing", que fornece uma maneira de finalizar o loop. À medida que cada linha do arquivo é lida, você pode usar o método Add de ArrayList para inserir as linhas na classe ArrayList.
    Do
        sLine = objReader.ReadLine()
        If Not sLine Is Nothing Then
            arrText.Add(sLine)
        End If
    Loop Until sLine Is Nothing
    objReader.Close()
  6. Use um loop "For Each" para gravar o conteúdo da ArrayList recém-preenchida no console, da seguinte maneira:
    For Each sLine In arrText
        Console.WriteLine(sLine)
    Next
    Console.ReadLine()
  7. Salve e execute seu código, o que produz uma listagem do arquivo para o console.

Listagem de códigos completa

Imports System
Imports System.IO
Imports System.Collections

Module Module1

    Sub Main()
        Dim objReader As New StreamReader("c:\test.txt")
        Dim sLine As String = ""
        Dim arrText As New ArrayList()

        Do
            sLine = objReader.ReadLine()
            If Not sLine Is Nothing Then
                arrText.Add(sLine)
            End If
        Loop Until sLine Is Nothing
        objReader.Close()

        For Each sLine In arrText
            Console.WriteLine(sLine)
        Next
        Console.ReadLine()
    End Sub

End Module

Armadilhas

Existem vários itens com os quais se preocupar durante o trabalho com a E/S de arquivo, incluindo:
  • Sempre que um arquivo é acessado, existe a possibilidade de que o arquivo que você está tentando ler ou gravar não esteja no sistema ou possa estar em uso.
  • Este exemplo lê o arquivo inteiro na memória antes de processá-lo. Você pode encontrar uma situação na qual o arquivo é muito grande para ser mantido na memória ou pode não ter permissões para acessá-lo.
Qualquer uma dessas situações faz com que uma exceção seja gerada. Sempre é útil fornecer um bloco try...catch para tratar esses problemas comuns.

REFERÊNCIAS

Para obter mais informações, consulte o seguinte site do Microsoft .NET SDK QuickStart Tutorials na Web:
http://www.gotdotnet.com/quickstart

Propriedades

ID do artigo: 302309 - Última revisão: quarta-feira, 9 de abril de 2003 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
  • Microsoft Visual Basic .NET 2002 Standard Edition
Palavras-chave: 
kbhowto kbhowtomaster kbnokeyword KB302309

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com