My.Computer.FileSystem オブジェクトの ReadAllText メソッドを使用すると、テキスト ファイルを読み取ることができます。 ファイルの内容が ASCII や UTF-8 などのエンコーディングを使用している場合、ファイル エンコーディングを指定できます。
読み取るファイルで拡張文字が使用されている場合、ファイル エンコーディングを指定する必要があります。
注意
ファイルから 1 回に 1 行のテキストを読み取るには、My.Computer.FileSystem オブジェクトの OpenTextFileReader メソッドを使用します。 OpenTextFileReader メソッドは StreamReader オブジェクトを返します。 StreamReader オブジェクトの ReadLine メソッドを使用して、ファイルから 1 回に 1 行を読み取ることができます。 StreamReader オブジェクトの EndOfStream メソッドを使用して、ファイルの最後かどうかをテストできます。
テキスト ファイルを読み取るには
My.Computer.FileSystem オブジェクトの ReadAllText メソッドを使用して、ファイルのパスを指定し、テキスト ファイルの内容を文字列に読み取ります。 次の例は、test.txt の内容を文字列に読み取り、メッセージ ボックスに表示します。
Dim fileReader As String fileReader = My.Computer.FileSystem.ReadAllText("C:\test.txt") MsgBox(fileReader)
エンコードされているテキスト ファイルを読み取るには
My.Computer.FileSytem オブジェクトの ReadAllText メソッドを使用して、ファイルのパスとファイル エンコードの種類を指定し、テキスト ファイルの内容を文字列に読み取ります。 次の例は、UTF32 ファイルである test.txt の内容を文字列に読み取り、メッセージ ボックスに表示します。
Dim fileReader As String fileReader = My.Computer.FileSystem.ReadAllText("C:\test.txt", System.Text.Encoding.UTF32) MsgBox(fileReader)
信頼性の高いプログラミング
次の条件を満たす場合は、例外が発生する可能性があります。
パスは次の理由の 1 つが無効です。長さ 0 の文字列は、空白だけが含まれている、無効な文字が含まれていますまたはそれがデバイス パスである (ArgumentException)。
パスが Nothing であるため、有効でない (ArgumentNullException)
ファイルが存在しない (FileNotFoundException)。
他のプロセスがファイルを使用しているか、または I/O エラーが発生した (IOException)。
パスがシステムで定義されている最大長を超えている (PathTooLongException)。
パス内のファイル名またはディレクトリ名にコロン (:) が含まれているか、または形式が無効である (NotSupportedException)
文字列をバッファーに書き込むための十分なメモリがない (OutOfMemoryException)
ユーザーがパスを参照するのに必要なアクセス許可がない (SecurityException)
ファイル名からファイルの内容を判断しないでください。 たとえば、Form1.vb というファイルは Visual Basic のソース ファイルではない可能性もあります。
アプリケーションでデータを使用する前に、入力をすべて検証してください。 ファイルの内容が予想どおりでないことがあり、ファイルの内容を読み取るメソッドが失敗する可能性があります。
参照
処理手順
方法 : Visual Basic でコンマ区切りのテキスト ファイルを読み取る
方法 : Visual Basic で固定幅のテキスト ファイルを読み取る
方法 : Visual Basic で複数の書式を持つテキスト ファイルを読み取る
トラブルシューティング: テキスト ファイルの読み取りと書き込み (Visual Basic)
チュートリアル : Visual Basic によるファイルとディレクトリの操作