Compartilhar via


Analisar Arquivos de Texto com o Objeto TextFieldParser

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 SetFieldWidths método 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 de armazenar o texto causador da exceção e número de 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 From Texto Files with Multiple formatos no Visual Basic.

Consulte também

Tarefas

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

Referência

Método My.Computador.FileSystem.OpenTextFieldParser

TextFieldParser Objeto

Método TextFieldParser.PeekChars.

Método TextFieldParser.ReadFields

Propriedade TextFieldParser.ErrorLine

Propriedade TextFieldParser.Delimiters

Propriedade TextFieldParser.ErrorLine

Propriedade TextFieldParser.ErrorLineNumber

Propriedade TextFieldParser.FieldWidths

Propriedade TextFieldParser.HasFieldsEnclosedInQuotes

Propriedade TextFieldParser.LineNumber

Propriedade TextFieldParser.TextFieldType

Propriedade TextFieldParser.TrimWhiteSpace

Método TextFieldParser.SetDelimiters

Método TextFieldParser.SetFieldWidths

Date

History

Motivo

Julho de 2008

De atualizadaSetFieldWidths exemplo de código e comentários.

Comentários do cliente.