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
Referência
Método My.Computador.FileSystem.OpenTextFieldParser
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. |