【VB.Net】テキストファイルを作成するやり方

どうも!リョクちゃです。

今回は、テキストファイルを作成する方法を

テキストボックスに打ち込んだ文字を書き込む例とともに紹介していきます。

前回はテキストファイルを読み込んでコンボボックスに格納するやり方を紹介しました。

VB.Netで指定したテキストファイルを読み取って出力したり、 複数行にわたるテキストファイルを読み取ってコンボボックスに格納する、やり方を紹介しています。



準備編:フォームを作成

最初に準備として、下のようなフォームを作成します。

ちなみに筆者の環境は、

  • VisualStudio2019
  • Windows 10 64bit
  • .Net Framework 4.5.2

です。

テキストファイルを作成する準備をする

それでは、ボタンを押したらテキストボックスに打ち込んだ文字を

書き込んでいくプログラムを作成していきます。

テキストファイルを作成するには、

System.IO.StreamWriter

を使います。

コードは下のようになります。

作成するテキストファイルの準備をする

テキストファイルを作成する前に、準備をしていきます。

まず、必要となるのが

  • ファイルを作成する場所(Path)
  • 作成するファイルの文字コード

これらを変数に代入しておきます。

コードは下のようになります。

ここでは、ファイルの作成場所をDebugフォルダの直下に作成するよう設定しています。

また、文字コードはUTF-8を設定しています。

インスタンスを作成

このままでは使うことができないので、インスタンスを作成します。

コードは下のようになります。

インスタンスを作成するとともに、先ほど作成した、

ファイルの作成場所と文字コード、それに加えて

ファイルを上書きするかしないかをTrue or Falseで選択します。

Trueだと、追記モードになり、既にあるファイルに値を追記していきます。

Falseだと、上書きモードになり、追記は行いません。

今回は、Trueにしています。

※ ファイルがない場合は、新たにファイルを作成します。


文字を書き込んでいく

インスタンスが作成出来たら、テキストボックスに打ち込んだ文字を

書き込みます。

コードは下のようになります。

sw.Write(“書き込む文字列”)と書くことで、ファイルに文字を書き込むことができます。

このままでは×、最後にオブジェクトの開放をする

このままでも文字を書き込めるのですが、

ファイルに対して正常に終了したことを教えてあげないといけません、

これをオブジェクトの開放と筆者は言っています。

解放を行わないと次にファイルに書き込む際にエラーが起きてしまう可能性があります

オブジェクトの開放は、下のようなコードになります。

If文の条件式には、変数swがNothingでなければ処理を行うといった条件になっています。

条件下の処理では、

  1. 変数swのClose処理を行う。(まず、変数の使用終了を伝える。)
  2. 変数swのDispose処理を行う。アンマネージリソースと呼ばれるリソースの解放をしています。本来自動的にされるのですが、外部ファイルなどに関しては例外でコードを書く者(コーダー)に委ねられます。
  3. 変数swの中身を空にする。

といった処理を行っています。

アンマネージリソースには、データベースへの接続やExcelなども該当します。

ここについては忘れずに行うよう意識しましょう。


コードを実行する

一通りのコードが書けたので、コードを実行し、

テキストボックスに書き込む文字を入力しボタンを押してみましょう。

下に実行例を示しておきます。

テキストボックスに打ち込んだ”こんにちは”が

ここではテキストファイルとして作成されます。

それではファイルが作成されているか確認しましょう。

Debugフォルダの直下に成功されていれば成功です。

下のような状態になります。

これでテキストファイルを作成することができました。

追記モードにしているので、追加でテキストボックスに入力した文字も
先ほど追加した文字の末尾に書き込まれていきます

下に実行例を示します。

まとめ

ファイルを作成するには → System.IO.StreamWriter()
System.IO.StreamWriter(Path as String,
append As Boolean,
encoding As Encoding)

インスタンスを作成する際に、

  • ファイルの場所の設定                    : Path
  • 文字コードの設定                         : encoding 
  • 上書き(False) or 追記(True)の設定  : append

が必要になります。

ファイルに書き込みには → System.IO.StreamWriter.Write(“書き込む文字”)

最後にファイルのオブジェクト解放を忘れずに。

  1. .Close()処理
  2. .Dispose()処理
  3. 変数 = Nothing

ご覧いただきありがとうございます。

・こちらの書籍を参考にVB.Net勉強しています。

スポンサーリンク