Поделиться через


Объект 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)

См. также

Задачи

Разрешение вопросов, связанных с исключениями: Microsoft.VisualBasic.FileIO.TextFieldParser.MalformedLineException

Основные понятия

Анализ текстовых файлов с помощью объекта TextFieldParser

Ссылки

Члены объекта TextFieldParser

Свойство TextFieldParser.CommentTokens

Свойство TextFieldParser.Delimiters

Свойство TextFieldParser.EndOfData

Свойство TextFieldParser.ErrorLine

Свойство TextFieldParser.ErrorLineNumber

Свойство TextFieldParser.FieldWidths

Свойство TextFieldParser.HasFieldsEnclosedInQuotes

Свойство TextFieldParser.LineNumber

Свойство TextFieldParser.TextFieldType

Свойство TextFieldParser.TrimWhiteSpace

Метод TextFieldParser.Close

Метод TextFieldParser.PeekChars

Метод TextFieldParser.ReadFields

Метод TextFieldParser.ReadLine

Метод TextFieldParser.ReadToEnd

Метод TextFieldParser.SetDelimiters

Метод TextFieldParser.SetFieldWidths

Метод My.Computer.FileSystem.OpenTextFieldParser

Microsoft.VisualBasic.FileIO.TextFieldParser