Объект TextFieldParser
Обновлен: Ноябрь 2007
Предоставляет методы и свойства для разбора структурированных текстовых файлов.
Public Class TextFieldParser
Исключения
Следующее условие может вызвать исключение.
- Текстовое поле не соответствует указанному формату. Например, в файле фиксированной ширины одно из полей не соответствует указанной ширине. (MalformedLineException).
Заметки
Объект TextFieldParser предоставляет методы и свойства для разбора структурированных текстовых файлов. Разбор текстового файла с TextFieldParser аналогичен проходу по всему текстовому файлу, а метод ReadFields для извлечения поля текста аналогичен разделению строк.
Средство синтаксического анализа TextFieldParser может анализировать файлы двух типов: файлы с разделителями и файлы с полями фиксированного размера. Некоторые свойства, например Delimiters и HasFieldsEnclosedInQuotes являются значимыми только при работе с файлами с разделителями, а свойство FieldWidths имеет смысл только при работе с файлами фиксированной ширины.
Задачи
В приведенной ниже таблице показаны примеры задач, включающих объект Microsoft.VisualBasic.FileIO.TextFieldParser.
To |
см. раздел |
---|---|
Чтение из текстового файла с разделителями |
Практическое руководство. Чтение из текстовых файлов с разделителями-запятыми в Visual Basic |
Чтение из текстового файла фиксированного размера |
Практическое руководство. Чтение из текстовых файлов с фиксированной шириной полей в Visual Basic |
Чтение из текстового файла, содержащего несколько форматов |
Практическое руководство. Чтение текстовых файлов различных форматов в Visual Basic |
Пример
В этом примере производится разбор текстового файла с разделением табуляцией, Bigfile.
Using MyReader As New Microsoft.VisualBasic.FileIO.TextFieldParser _
("c:\logs\bigfile")
MyReader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.Delimited
MyReader.Delimiters = New String() {vbTab}
Dim currentRow As String()
'Loop through all of the fields in the file.
'If any lines are corrupt, report an error and continue parsing.
While Not MyReader.EndOfData
Try
currentRow = MyReader.ReadFields()
' Include code here to handle the row.
Catch ex As Microsoft.VisualBasic.FileIO.MalformedLineException
MsgBox("Line " & ex.Message & _
" is invalid. Skipping")
End Try
End While
End Using
Этот пример зависит от наличия функции processFields, которая обрабатывает поля по мере их считывания.
Требования
Пространство имен:Microsoft.VisualBasic.FileIO
Класс:TextFieldParser
**Сборка:**Visual Basic (библиотека времени выполнения, в Microsoft.VisualBasic.dll)
См. также
Задачи
Основные понятия
Анализ текстовых файлов с помощью объекта TextFieldParser
Ссылки
Свойство TextFieldParser.CommentTokens
Свойство TextFieldParser.Delimiters
Свойство TextFieldParser.EndOfData
Свойство TextFieldParser.ErrorLine
Свойство TextFieldParser.ErrorLineNumber
Свойство TextFieldParser.FieldWidths
Свойство TextFieldParser.HasFieldsEnclosedInQuotes
Свойство TextFieldParser.LineNumber
Свойство TextFieldParser.TextFieldType
Свойство TextFieldParser.TrimWhiteSpace
Метод TextFieldParser.PeekChars
Метод TextFieldParser.ReadFields
Метод TextFieldParser.ReadLine
Метод TextFieldParser.ReadToEnd
Метод TextFieldParser.SetDelimiters
Метод TextFieldParser.SetFieldWidths