TextFieldParser.ReadFields メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
現在の行のすべてのフィールドを読み取り、文字列の配列として返し、データを含む次の行にカーソルを進めます。
public:
cli::array <System::String ^> ^ ReadFields();
public string[] ReadFields();
member this.ReadFields : unit -> string[]
Public Function ReadFields () As 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 メソッドは、 TextFieldType、 Delimiters、および FieldWidthsの値を、指定されている場合は、呼び出されるたびに調べます。 ユーザーは、必要に応じて、 TextFieldType プロパティと FieldWidths プロパティまたは Delimiters プロパティを正しく構成する必要があります。
TextFieldTypeがDelimitedに設定されていて、Delimitersが設定されていない場合、またはTextFieldTypeが FixedWidth に設定され、FieldWidthsが設定されていない場合は、例外がスローされます。
ReadFields空白行が検出された場合はスキップされ、次の空白以外の行が返されます。
ReadFields メソッドが現在の行を解析できない場合、例外が発生し、次の行には移動しません。 これにより、アプリケーションで行の解析を再試行できます。
次の表に、 ReadFields メソッドに関連するタスクの例を示します。
| ターゲット | 参照先 |
|---|---|
| 区切りファイルからの読み取り | 方法: Comma-Delimited テキスト ファイルから読み取る |
| 固定幅ファイルから読み取る | 方法: 固定幅テキスト ファイルから読み取る |