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

O objeto TextFieldParser permite analisar e processar arquivos muito grandes estruturados como colunas de texto de largura delimitada, como arquivos de log ou informações de banco de dados herdadas. Analisar um arquivo de texto com TextFieldParser é semelhante a iterar em um arquivo de texto, enquanto o método de análise para extrair campos de texto é semelhante a métodos de manipulação de cadeias de caracteres usados para criar tokens para cadeias de caracteres delimitadas.

Analisando tipos diferentes de arquivos de texto

Arquivos de texto podem ter campos com larguras variadas, 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ção:

testReader.SetDelimiters(vbTab)

Outros arquivos de texto podem ter larguras de campo fixas. Nesses casos, você precisa 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

Após o formato ser definido, você pode executar um loop no arquivo, usando o método ReadFields para processar uma linha por vez.

Se um campo não coincidir com o formato especificado, uma exceção MalformedLineException será lançada. Quando essas exceções são geradas, as propriedades ErrorLine e ErrorLineNumber retêm o texto causador da exceção e o número de linha do texto.

Analisando arquivos com vários formatos

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

Confira também