【VB.NET】テキストファイルを開くには?

訪問して頂きありがとうございます。まさふくろーです。

この記事では、テキストファイルを開く方法をご紹介します。

テキストファイルを開く

  • テキストファイルを読み取り用に開くには、StreamReaderクラスのコンストラクターの引数にテキストファイルのパスを指定して、StreamReaderオブジェクトを生成します。
  • 書式は、以下になります。

New StreamReader(ファイルパス, 使用する文字エンコード)

補足
シフトJISのエンコードで開くには、第2引数「使用する文字エンコード」に「Encoding.GetEncoding("Shift_JIS")」と指定します。
現在のエンコードで開くには、第2引数「使用する文字エンコード」に「Encoding.Default」と指定します。
パスが指定されていない場合、例外ArgumentExceptionが発生します
指定したファイルが存在しない場合、例外FileNotFoundExceptionが発生します。

  • テキストファイルを書き込み用に開くには、StreamWriterクラスのコンストラクターの引数にテキストファイルのパスを指定して、StreamWriterオブジェクトを生成します。
  • 書式は、以下になります。

New StreamWriter(ファイルパス, 書き込みのモード, 使用する文字エンコード)

補足
データを追加する場合は、第2引数「書き込みのモード」に「True」、上書きする場合は、第2引数「書き込みのモード」に「False」を指定します。
シフトJISのエンコードで開くには、第2引数「使用する文字エンコード」に「Encoding.GetEncoding("Shift_JIS")」と指定します。
現在のエンコードで開くには、第2引数「使用する文字エンコード」に「Encoding.Default」と指定します。
パスが指定されていない場合、例外ArgumentExceptionが発生します

サンプルプログラム

名前空間のインポート

1 StreamReaderクラスを使うため、System.IO名前空間をインポート。
2 Encodingクラスを使うため、System.Text名前空間をインポート。

テキストファイルを読み取り用に開く

2 「テキストファイルを開く」ボタンクリック時に以下処理を行う。
4 ファイルパスを、文字列型の変数「FilePath」に代入。
9 ファイルパスからファイルの拡張子を取得し、文字列型の変数「ExtensionName」に代入。
11 ファイルの拡張子が「.txt」の場合、
13 ファイルを読み取り用に開く処理を実行する。(シフトJISのエンコードで開く)(Usingステートメントでファイルを閉じる処理を自動化)
17 正常に処理が実行された場合、正常終了のメッセージをラベルに表示する。
21 ファイルのパスが指定されていない場合、
23 「パスが指定されていません。」のメッセージをラベルに表示する。
25 指定したファイルが見つからない場合、
27 「ファイルが見つかりません。」のメッセージをラベルに表示する。
29 処理の実行中にエラーが発生した場合、
31 エラー内容を取得し、ラベルに表示する。

テキストファイルを書き込み用に開く

2 「テキストファイルを開く」ボタンクリック時に以下処理を行う。
4 ファイルパスを、文字列型の変数「FilePath」に代入。
9 ファイルパスからファイルの拡張子を取得し、文字列型の変数「ExtensionName」に代入。
11 ファイルの拡張子が「.txt」の場合、
13 ファイルを書き込み用に開く処理を実行する。(シフトJISのエンコードで開く)(Usingステートメントでファイルを閉じる処理を自動化)
17 正常に処理が実行された場合、正常終了のメッセージをラベルに表示する。
21 ファイルのパスが指定されていない場合、
23 「パスが指定されていません。」のメッセージをラベルに表示する。
25 処理の実行中にエラーが発生した場合、
27 エラー内容を取得し、ラベルに表示する。

関連記事

テキストファイルのデータを1行ずつ読み込む

【VB.NET】テキストファイルのデータを1行ずつ読み込むには?

テキストファイルのデータを1文字ずつ読み込む

【VB.NET】テキストファイルのデータを1文字ずつ読み込むには?

テキストファイルのデータを1度に読み込む

【VB.NET】テキストファイルのデータを1度に読み込むには?

テキストファイルにデータを書き込む

【VB.NET】テキストファイルにデータを書き込むには?

パスからファイルの拡張子を取得

【VB.NET】パスからファイルの拡張子を取得するには?

Usingステートメント

【VB.NET】UsingステートメントでDisposeメソッドの呼び出しを自動化する

構造化例外処理

【VB.NET】構造化例外処理とは?

最後まで読んでいただき、ありがとうございました!

本のまとめ関連記事はこちら