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 メソッドは、 TextFieldTypeDelimiters、および FieldWidthsの値を、指定されている場合は、呼び出されるたびに調べます。 ユーザーは、必要に応じて、 TextFieldType プロパティと FieldWidths プロパティまたは Delimiters プロパティを正しく構成する必要があります。 TextFieldTypeDelimitedに設定されていて、Delimitersが設定されていない場合、またはTextFieldTypeFixedWidth に設定され、FieldWidthsが設定されていない場合は、例外がスローされます。

ReadFields空白行が検出された場合はスキップされ、次の空白以外の行が返されます。

ReadFields メソッドが現在の行を解析できない場合、例外が発生し、次の行には移動しません。 これにより、アプリケーションで行の解析を再試行できます。

次の表に、 ReadFields メソッドに関連するタスクの例を示します。

ターゲット 参照先
区切りファイルからの読み取り 方法: Comma-Delimited テキスト ファイルから読み取る
固定幅ファイルから読み取る 方法: 固定幅テキスト ファイルから読み取る

適用対象

こちらもご覧ください