TextFieldParser オブジェクト
更新 : 2007 年 11 月
構造化テキスト ファイルの解析に使用するメソッドとプロパティを提供します。
Public Class TextFieldParser
例外
例外を引き起こす可能性のある状態を次に示します。
- テキスト フィールドが指定された形式に対応していない。たとえば、固定幅のファイルでは、いずれかのフィールドが指定された幅に収まらない場合です。 (MalformedLineException).
解説
TextFieldParser オブジェクトは、構造化テキスト ファイルの解析に使用するメソッドとプロパティを提供します。テキスト ファイルを TextFieldParser で解析するのは、テキスト ファイルを反復処理するのと同じです。ReadFields メソッドでテキストのフィールドを抽出するのは、文字列を分割するのと同じです。
TextFieldParser では、デリミタで区切られたファイルと固定幅のファイルの 2 種類のファイルを解析できます。Delimiters や HasFieldsEnclosedInQuotes などの一部のプロパティは、デリミタで区切られたファイルでのみ有効ですが、FieldWidths プロパティは固定幅のファイルでのみ有効です。
処理手順
Microsoft.VisualBasic.FileIO.TextFieldParser オブジェクトに関連するタスクの例を次の表に示します。
目的 |
参照項目 |
---|---|
区切り記号で区切られたテキスト ファイルから読み込む |
|
固定幅のテキスト ファイルから読み込む |
|
複数の形式を持つテキスト ファイルから読み込む |
使用例
この例では、タブ区切りのテキスト ファイル Bigfile を解析します。
Using MyReader As New Microsoft.VisualBasic.FileIO.TextFieldParser _
("c:\logs\bigfile")
MyReader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.Delimited
MyReader.Delimiters = New String() {vbTab}
Dim currentRow As String()
'Loop through all of the fields in the file.
'If any lines are corrupt, report an error and continue parsing.
While Not MyReader.EndOfData
Try
currentRow = MyReader.ReadFields()
' Include code here to handle the row.
Catch ex As Microsoft.VisualBasic.FileIO.MalformedLineException
MsgBox("Line " & ex.Message & _
" is invalid. Skipping")
End Try
End While
End Using
この例は、読み取ったフィールドを処理する関数 processFields が存在することを前提としています。
必要条件
名前空間 : Microsoft.VisualBasic.FileIO
クラス : TextFieldParser
アセンブリ : Visual Basic ランタイム ライブラリ (Microsoft.VisualBasic.dll)
参照
処理手順
例外のトラブルシューティング : Microsoft.VisualBasic.FileIO.TextFieldParser.MalformedLineException
概念
TextFieldParser オブジェクトによるテキスト ファイルの解析
参照
TextFieldParser.CommentTokens プロパティ
TextFieldParser.Delimiters プロパティ
TextFieldParser.EndOfData プロパティ
TextFieldParser.ErrorLine プロパティ
TextFieldParser.ErrorLineNumber プロパティ
TextFieldParser.FieldWidths プロパティ
TextFieldParser.HasFieldsEnclosedInQuotes プロパティ
TextFieldParser.LineNumber プロパティ
TextFieldParser.TextFieldType プロパティ
TextFieldParser.TrimWhiteSpace プロパティ
TextFieldParser.PeekChars メソッド
TextFieldParser.ReadFields メソッド
TextFieldParser.ReadToEnd メソッド
TextFieldParser.SetDelimiters メソッド
TextFieldParser.SetFieldWidths メソッド