TextFieldParser.ReadFields 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
讀取目前行上的所有欄位,將它們傳回為字串陣列,並將游標前進至包含資料的下一行。
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
此方法會在每次呼叫時檢查、 Delimiters
和 FieldWidths
的值TextFieldType
。 用戶必須適當地正確設定 TextFieldType
和 FieldWidths
或 Delimiters
屬性。 如果 TextFieldType
設定為 Delimited
,且 Delimiters
未設定,或者 如果 TextFieldType
設定為 FixedWidth
和 FieldWidths
,則會擲回例外狀況。
如果 ReadFields
遇到空白行,則會略過它們,並傳回下一個非空白行。
ReadFields
如果方法無法剖析目前行,則會引發例外狀況,而且不會移至下一行。 這可讓您的應用程式再次嘗試剖析行。
下表列出涉及 ReadFields
方法的工作範例。
收件者 | 請參閱 |
---|---|
從分隔檔案讀取 | 作法:從逗號分隔文字檔讀取 |
從固定寬度檔案讀取 | 作法:從固定寬度的文字檔讀取 |