Compartilhar via


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

O TextFieldParser objeto permite que você analise e processe um arquivo muito grande estruturado como colunas de texto de largura delimitada, como arquivos de log ou informações de banco de dados herdadas. A análise de um arquivo de texto com TextFieldParser é semelhante à iteração em um arquivo de texto, enquanto o método de análise para extrair campos de texto é semelhante aos métodos de manipulação de cadeia de caracteres usados para tokenizar cadeias de caracteres delimitadas.

Analisando diferentes tipos de arquivos de texto

Os 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 tab:

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 SetFieldWidths método para definir as colunas de texto: a primeira coluna tem 5 caracteres de largura, a segunda é 10, a terceira é 11 e a quarta é de largura variável.

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

Depois que o formato for definido, você poderá fazer loop pelo arquivo, usando o ReadFields método para processar cada linha por sua vez.

Se um campo não corresponder ao formato especificado, uma MalformedLineException exceção será gerada. Quando essas exceções são geradas, as propriedades ErrorLine e ErrorLineNumber contêm o texto que causa a exceção e o número de linha desse texto.

Analisando arquivos com vários formatos

O PeekChars método do TextFieldParser objeto pode ser usado para verificar cada campo antes de lê-lo, permitindo que você defina vários formatos para os campos e reaja adequadamente. Para obter mais informações, consulte Como ler de arquivos de texto com vários formatos.

Consulte também