Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Объект 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
объекта можно использовать для проверки каждого поля перед его чтением, позволяя определять несколько форматов полей и реагировать соответствующим образом. Дополнительные сведения см. в разделе "Практическое руководство. Чтение из текстовых файлов с несколькими форматами".