Compartilhar via


Analisar arquivos de texto com o objeto TextFieldParser (Visual Basic)

O objeto TextFieldParser permite que você analise e processe arquivos muito grandes que são estruturados como colunas do texto de largura delimitada, como arquivos de log ou informações do banco de dados herdadas.Analisar um arquivo de texto com TextFieldParser é semelhante a iterar em um arquivo texto, enquanto o método de análise para extrair campos de texto é semelhante aos métodos para manipulação de sequência de caracteres usados para transformar em símbolos sequências de caracteres.

Analisar Diferentes Tipos de Arquivos de Texto

Arquivos de Texto podem ter campos de várias larguras, delimitados por um caractere, como uma vírgula ou um espaço de tabulação.Defina TextFieldType e o delimitador, como no exemplo a seguir, que usa o método SetDelimiters para definir um arquivo de texto delimitado por tabulações:

testReader.SetDelimiters(vbTab)

Outros arquivos de texto podem ter larguras de campo que são fixas.Em tais casos, você precisará definir o TextFieldType como FixedWidth e definir as larguras de cada campo, como no exemplo a seguir.Este exemplo usa o método SetFieldWidths para definir as colunas de texto: a primeira coluna tem 5 caracteres de largura, a segunda tem 10, a terceira tem 11, e a quarta tem largura variável.

testReader.SetFieldWidths(5, 10, 11, -1)
testReader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.FixedWidth

Uma vez que o formato é definido, você pode executar um loop através do arquivo, usando o método ReadFields para processar cada linha em retorno.

Se um campo não coincidir com o formato especificado, será apresentada uma exceção MalformedLineException.Quando essas exceções são lançadas, o ErrorLine e ErrorLineNumber propriedades mantém o texto causador da exceção e o número da linha do texto.

Analisar Arquivos com Vários Formatos

O método PeekChars do objeto TextFieldParser pode ser usado para verificar cada campo antes da leitura, permitindo-lhe definir vários formatos para os campos e reagir adequadamente.Para obter mais informações, consulte Como: ler arquivos de texto com vários formatos de Visual Basic.

Consulte também

Tarefas

Solucionando problemas de exceções: Microsoft.VisualBasic.FileIO.TextFieldParser.MalformedLineException

Referência

OpenTextFieldParser

TextFieldParser

PeekChars

ReadFields

CommentTokens

Delimiters

ErrorLine

ErrorLineNumber

FieldWidths

HasFieldsEnclosedInQuotes

LineNumber

TextFieldType

TrimWhiteSpace

SetDelimiters

SetFieldWidths