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