Como ler a partir de arquivos de texto no Visual Basic

O método ReadAllText do objeto My.Computer.FileSystem permite que você leia um arquivo de texto. A codificação do arquivo pode ser especificada se o conteúdo do arquivo usar uma codificação, como ASCII ou UTF-8.

Se você estiver lendo um arquivo com caracteres estendidos, será necessário especificar a codificação do arquivo.

Observação

Para ler em um arquivo uma linha de texto por vez, use o método OpenTextFileReader do objeto My.Computer.FileSystem. O método OpenTextFileReader retorna um objeto StreamReader. Você pode usar o método ReadLine do objeto StreamReader para ler o arquivo uma linha por vez. Você pode testar o final do arquivo usando o método EndOfStream do objeto StreamReader.

Para ler um arquivo de texto

Use o método ReadAllText do objeto My.Computer.FileSystem para ler o conteúdo de um arquivo de texto em uma cadeia de caracteres, fornecendo o caminho. O exemplo a seguir lê o conteúdo de test.txt em uma cadeia de caracteres e o exibe em uma caixa de mensagem.

Dim fileReader As String
fileReader = My.Computer.FileSystem.ReadAllText("C:\test.txt")
MsgBox(fileReader)

Para ler de um arquivo de texto que está codificado

Use o método ReadAllText do objeto My.Computer.FileSystem para ler o conteúdo de um arquivo de texto em uma cadeia de caracteres, fornecendo o caminho e o tipo da codificação do arquivo. O exemplo a seguir lê o conteúdo do arquivo test.txt UTF32 em uma cadeia de caracteres e depois o exibe em uma caixa de mensagem.

Dim fileReader As String
fileReader = My.Computer.FileSystem.ReadAllText("C:\test.txt",
   System.Text.Encoding.UTF32)
MsgBox(fileReader)

Programação robusta

As seguintes condições podem causar uma exceção:

  • O caminho não é válido por um destes motivos: é uma cadeia de caracteres de comprimento zero, contém somente espaço em branco, contém caracteres inválidos ou é um caminho de dispositivo (ArgumentException).

  • O caminho não é válido porque é Nothing (ArgumentNullException).

  • O arquivo não existe (FileNotFoundException).

  • O arquivo está em uso por outro processo, ou ocorre um erro de E/S (IOException).

  • O caminho excede o comprimento máximo definido pelo sistema (PathTooLongException).

  • Um nome de arquivo ou de diretório no caminho contém dois-pontos (:) ou está em um formato inválido (NotSupportedException).

  • Não há memória suficiente para gravar a cadeia de caracteres no buffer (OutOfMemoryException).

  • O usuário não possui permissões necessárias para exibir o caminho (SecurityException).

Não tome decisões sobre o conteúdo do arquivo com base no nome do arquivo. Por exemplo, o arquivo Form1.vb pode não ser um arquivo de código-fonte do Visual Basic.

Verifique todas as entradas antes de usar os dados no seu aplicativo. O conteúdo do arquivo pode não ser esperado, e os métodos para ler o arquivo podem falhar.

Confira também