次の方法で共有


My.Computer.FileSystem.OpenTextFieldParser メソッド

更新 : 2007 年 11 月

OpenTextFieldParser メソッドを使用すると、TextFieldParser オブジェクトを作成できます。このオブジェクトは、ログなどの構造化されたテキスト ファイルを容易かつ効率的に解析できるようにします。TextFieldParser オブジェクトは、区切り記号入りファイルと固定長ファイルの両方を読み取るときに使用できます。

' Usage
Dim value As TextFieldParser = My.Computer.FileSystem.OpenTextFieldParser(file)
Dim value As TextFieldParser = My.Computer.FileSystem.OpenTextFieldParser(file ,delimiters)
Dim value As TextFieldParser = My.Computer.FileSystem.OpenTextFieldParser(file ,fieldWidths)
' Declaration
Public Function OpenTextFieldParser( _
   ByVal file As String _
) As TextFieldParser
' -or-
Public Function OpenTextFieldParser( _
   ByVal file As String, _
   ByVal delimiters As String() _
) As TextFieldParser
' -or-
Public Function OpenTextFieldParser( _
   ByVal file As String, _
   ByVal fieldWidths As Integer() _
) As TextFieldParser

パラメータ

  • file
    String です。TextFieldParser で開くファイルを指定します。必ず指定します。

  • delimiters
    String() です。フィールドの区切り記号を指定します。必ず指定します。

  • fieldWidths
    Integer() です。フィールドの幅を指定します。必ず指定します。

戻り値

TextFieldParser

例外

次の条件を満たす場合は、例外が発生する可能性があります。

  • パスが無効である。つまり、パスが長さ 0 の文字列である、パスに空白だけが含まれている、パスに無効な文字が含まれている、またはパスがデバイス パスである (\\.\ で始まる) (ArgumentException)。

  • ファイル名の末尾に後続のスラッシュが付いている (ArgumentException)。

  • パスが Nothing であるため、有効ではない (ArgumentNullException)。

  • 指定のファイルが存在しない (FileNotFoundException)。

  • 指定のファイルが使用中である (IOException)。

  • パスがシステムで定義されている最大長を超えている (PathTooLongException)。

  • パス内のファイル名またはディレクトリ名にコロン (:) が含まれているか、形式が無効である (NotSupportedException)。

  • ユーザーがパスを表示するのに必要なアクセス許可を持っていない (SecurityException)。

  • 行を指定の形式で解析できない (MalformedLineException)。例外メッセージではこの行が例外の原因とされ、TextFieldParser.ErrorLine プロパティにこの行内のテキストが割り当てられる。

  • ユーザーがファイルにアクセスするのに必要なアクセス許可を持っていない (UnauthorizedAccessException)。

処理手順

My.Computer.FileSystem.OpenTextFieldParser メソッドに関連するタスクの例を次の表に示します。

目的

参照項目

区切り記号で区切られたテキスト ファイルから読み込む

方法 : Visual Basic でコンマ区切りのテキスト ファイルを読み取る

固定幅のテキスト ファイルから読み込む

方法 : Visual Basic で固定幅のテキスト ファイルを読み取る

複数の形式を持つテキスト ファイルから読み込む

方法 : Visual Basic で複数の書式を持つテキスト ファイルを読み取る

使用例

この例では、reader という TextFieldParser を開き、それを使用して C:\TestFolder1\Test1.txt から読み込みを行います。

Dim reader As Microsoft.VisualBasic.FileIO.TextFieldParser
reader = My.Computer.FileSystem.OpenTextFieldParser _
("C:\TestFolder1\test1.txt")
reader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.Delimited
reader.delimiters = New String() {","}
Dim currentRow As String()
While Not reader.EndOfData
    Try
        currentRow = reader.ReadFields()
        Dim currentField As String
        For Each currentField In currentRow
            MsgBox(currentField)
        Next
    Catch ex As Microsoft.VisualBasic.FileIO.MalformedLineException
        MsgBox("Line " & ex.Message & _
        "is not valid and will be skipped.")
    End Try
End While

必要条件

名前空間 : Microsoft.VisualBasic.MyServices

クラス : FileSystemProxy (FileSystem へのアクセスを可能にします)

アセンブリ : Visual Basic ランタイム ライブラリ (Microsoft.VisualBasic.dll 内)

プロジェクトの種類ごとの可用性

プロジェクトの種類

可用性

Windows アプリケーション

クラス ライブラリ

コンソール アプリケーション

Windows コントロール ライブラリ

Web コントロール ライブラリ

Windows サービス

Web サイト

アクセス許可

次のアクセス許可が必要です。

アクセス許可

説明

FileIOPermission

ファイルとフォルダへのアクセス許可を制御します。関連する列挙値 : Unrestricted

SecurityPermission

コードに適用される一連のセキュリティ アクセス許可を表します。関連する列挙値 : ControlEvidence

詳細については、「コード アクセス セキュリティ」および「アクセス許可の要求」を参照してください。

参照

処理手順

方法 : Visual Basic でテキスト ファイルを読み取る

方法 : Visual Basic でコンマ区切りのテキスト ファイルを読み取る

方法 : Visual Basic で複数の書式を持つテキスト ファイルを読み取る

概念

TextFieldParser オブジェクトによるテキスト ファイルの解析

参照

My.Computer.FileSystem オブジェクト

TextFieldParser オブジェクト

OpenTextFieldParser

その他の技術情報

Visual Basic でのファイルの読み取り