TextFieldParser.ReadFields 方法

定義

讀取當前行上的所有欄位,以字串陣列的形式回傳,並將游標推進到下一行包含資料的行。

public:
 cli::array <System::String ^> ^ ReadFields();
public string[] ReadFields();
member this.ReadFields : unit -> string[]
Public Function ReadFields () As String()

傳回

String[]

一個包含當前行欄位值的字串陣列。

例外狀況

欄位無法用指定的格式來解析。

範例

此範例使用 ReadFields 從逗號分隔檔 ParserText.txt讀取的方法。 範例將欄位寫成 Testfile.txt

Using MyReader As New Microsoft.VisualBasic.FileIO.TextFieldParser("C:\ParserText.txt")
    MyReader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.Delimited
    MyReader.Delimiters = New String() {","}
    Dim currentRow As String()
    While Not MyReader.EndOfData
        Try
            currentRow = MyReader.ReadFields()
            For Each currentField As String In currentRow
                My.Computer.FileSystem.WriteAllText(
                    "C://testfile.txt", currentField, True)
            Next
        Catch ex As Microsoft.VisualBasic.FileIO.MalformedLineException
            MsgBox("Line " & ex.Message & " is invalid.  Skipping")
        End Try
    End While
End Using

備註

為了讓使用者能解析多種格式的文字檔,該ReadFields方法每次呼叫時都會檢查 、 Delimiters、 和 FieldWidths的值TextFieldType(如果指定為 )。 使用者需要適當配置 TextFieldType and FieldWidthsDelimiters 屬性。 若 TextFieldType 設為 且Delimiters未設,或 TextFieldTypeFieldWidthsFixedWidth為 但未設,則Delimited拋出例外。

ReadFields 遇到空白行,會跳過,並返回下一行非空白行。

ReadFields 方法無法解析當前行,則會產生例外,且不會移至下一行。 這讓你的應用程式能再次嘗試解析該行。

下表列出與此 ReadFields 方法相關的任務範例。

看!
從分隔檔讀取 如何讀取 Comma-Delimited 文本文件
從固定寬度檔案讀取 如何:從固定寬度文本文件讀取

適用於

另請參閱