次の方法で共有


TextFieldParser.ReadFields メソッド

定義

現在行のすべてのフィールドを読み込んで文字列の配列として返し、次のデータが格納されている行にカーソルを進めます。

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

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

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

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

終了 解決方法については、
区切りファイルからの読み取り 方法: コンマ区切りのテキスト ファイルを読み取る
固定幅ファイルからの読み取り 方法: 固定幅のテキスト ファイルを読み取る

適用対象

こちらもご覧ください