My.Computer.FileSystem.ReadAllText メソッド

更新 : 2007 年 11 月

テキスト ファイルの内容を String で返します。

' Usage
Dim value As String = My.Computer.FileSystem.ReadAllText(file)
Dim value As String = My.Computer.FileSystem.ReadAllText(file ,encoding)
' Declaration
Public Function ReadAllText( _
   ByVal file As String _
) As String
' -or-
Public Function ReadAllText( _
   ByVal file As String, _
   ByVal encoding As System.Text.Encoding _
) As String

パラメータ

  • file
    読み取るファイルの名前とパスを指定する String です。必ず指定します。

  • encoding
    ファイルの読み取りに使用する文字エンコーディングを指定する System.Text.Encoding です。必ず指定します。既定値は UTF-8 です。

戻り値

ファイルの内容が格納された String。

例外

ファイルの内容が予想どおりでないことがあり、ファイルの内容を読み取るメソッドが失敗する可能性があります。

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

  • パスが無効です。1) 長さが 0 の文字列である、2) 空白だけが含まれている、3) 無効な文字が含まれている、4) デバイス パスである (\\.\ で開始されている)、のいずれかの理由が考えられます (ArgumentException)。

  • ファイル名が円記号 (\) で終わっています (ArgumentException)。

  • パスが Nothing であるため、有効ではありません (ArgumentNullException)。

  • ファイルが存在しない場合 (FileNotFoundException)

  • ファイルが別のプロセスで使用中か、または I/O エラーが起きています (IOException)。

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

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

  • 文字列をバッファに書き込むための十分なメモリがありません (OutOfMemoryException)。

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

解説

My.Computer.FileSystem オブジェクトの ReadAllText メソッドを使うと、テキスト ファイルを読み取ることができます。ファイルの内容は文字列で返されます。

ファイルの中身が ASCII や UTF-8 などでエンコーディングされている場合は、ファイルのエンコーディングを指定できます。拡張文字を含むファイルを読み取る場合は、ファイルのエンコーディングを指定する必要があります。

ファイル名からファイルの内容を判断しないでください。たとえば、Form1.vb というファイルが Visual Basic のソース ファイルではない可能性もあります。アプリケーションでデータを使用する前に、入力をすべて検証してください。

処理手順

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

目的

参照項目

テキスト ファイルからの読み取り

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

使用例

次の例は Test.txt の内容を文字列に読み取り、メッセージ ボックスに表示します。

Dim reader As String
reader = My.Computer.FileSystem.ReadAllText("C:\test.txt")
MsgBox(reader)

次の例は、ASCII ファイルである Test.txt の内容を文字列に読み取り、メッセージ ボックスに表示します。

Dim reader As String
reader = My.Computer.FileSystem.ReadAllText("C:\test.txt", _
   System.Text.Encoding.ASCII)
MsgBox(reader)

必要条件

名前空間 : Microsoft.VisualBasic.MyServices

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

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

使用可能なプロジェクトの種類

プロジェクトの種類

使用可/不可

Windows アプリケーション

クラス ライブラリ

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

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

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

Windows サービス

Web サイト

アクセス許可

次のアクセス許可が必要になる可能性があります。

アクセス許可

説明

FileIOPermission

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

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

参照

処理手順

方法 : StreamReader を使用してファイルからテキストを読み取る (Visual Basic)

トラブルシューティング : テキスト ファイルの読み取りと書き込み

チュートリアル : Visual Basic によるファイルとディレクトリの操作

概念

ファイル エンコーディング

参照

My.Computer.FileSystem オブジェクト

System.Text.Encoding

FileSystem.ReadAllText

StreamReader

その他の技術情報

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