Partilhar via


Análise de arquivos de texto com o objeto TextFieldParser (Visual Basic)

O TextFieldParser objeto permite analisar e processar arquivos muito grandes que são estruturados 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 é TextFieldParser semelhante à iteração sobre 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.

Análise de 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 SetDelimiters método para definir um arquivo de texto delimitado por tabulação:

testReader.SetDelimiters(vbTab)

Outros arquivos de texto podem ter larguras de campo que são 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

Uma vez definido o formato, você pode percorrer o arquivo, usando o ReadFields método para processar cada linha por vez.

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

Análise de arquivos com vários formatos

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

Consulte também