Анализ текстовых файлов с помощью объекта TextFieldParser
Обновлен: Июль 2008
Объект TextFieldParser позволяет анализировать и обрабатывать файлы очень большого размера, по своей структуре имеющие вид столбцов текста с разделителями, например файлы журнала или старые базы данных. Анализ текстового файла с помощью объекта TextFieldParser похож на итерацию содержимого текстового файла, а метод анализа, связанный с извлечением полей текста, напоминает методы работы со строками, используемые для маркировки разделенных строк.
Анализ различных типов текстовых файлов
Текстовые файлы могут иметь поля различной ширины, разделенные тем или иными символом, например запятой или знаком табуляции. Определите TextFieldType и разделитель, как в следующем примере, в котором с помощью метода SetDelimiters определяется текстовый файл со знаком табуляции в качестве разделителя:
testReader.SetDelimiters(vbTab)
Другие текстовые файлы могут иметь поля фиксированной ширины. В этом случае необходимо определить TextFieldType как FixedWidth и задать ширину каждого поля, как в следующем примере. В этом примере столбцы текста определяются с помощью метода SetFieldWidths: первый столбец имеет ширину 5 символов, второй 10, третий 11, а четвертый столбец имеет переменную ширину.
testReader.SetFieldWidths(5, 10, 11, -1)
testReader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.FixedWidth
После определения формата можно обработать весь файл в цикле, используя для обработки каждой строки метод ReadFields.
Если поле не соответствует указанному формату, возникает исключение MalformedLineException. При возникновении таких исключений в свойства ErrorLine и ErrorLineNumber записывается текст, вызвавший исключение и номер строки, на которой находится этот текст.
Анализ файлов с содержимым в нескольких форматах
Метод PeekChars объекта TextFieldParser может использоваться для проверки каждого поля до его чтения, позволяя определить несколько форматов для полей и реагировать соответствующим образом. Дополнительные сведения см. в разделе Практическое руководство. Чтение текстовых файлов различных форматов в Visual Basic.
См. также
Задачи
Ссылки
Метод My.Computer.FileSystem.OpenTextFieldParser
Метод TextFieldParser.PeekChars
Метод TextFieldParser.ReadFields
Свойство TextFieldParser.CommentTokens
Свойство TextFieldParser.Delimiters
Свойство TextFieldParser.ErrorLine
Свойство TextFieldParser.ErrorLineNumber
Свойство TextFieldParser.FieldWidths
Свойство TextFieldParser.HasFieldsEnclosedInQuotes
Свойство TextFieldParser.LineNumber
Свойство TextFieldParser.TextFieldType
Свойство TextFieldParser.TrimWhiteSpace
Метод TextFieldParser.SetDelimiters
Метод TextFieldParser.SetFieldWidths
Журнал изменений
Дата |
Журнал изменений |
Причина |
---|---|---|
Июль 2008 |
Обновлены примеры кода SetFieldWidths и комментарии. |
Обратная связь от клиента. |