VB.NET: ファイルの所在を確認して、見つからなかったら作る

Visual Basic というか、どんな言語でもですが、プログラムの初期設定で欠かせないのが、設定などを書き込んだファイルの読み込み。VB.NETでは、設定保存方法に標準的な方法が準備されているとのころですが、準備されている仕組みを使わずに、自分で処理する場合Visual Basicの記述方法を調べたのでそのメモ。

config.ini というファイルにプログラムの設定があるとします。設定ファイルは空っぽでも動くので、config.iniが無ければ空っぽのファイルを作っておく という流れ。

ファイルの扱いは、System.IO クラスをインポートしておく必要があります。

以下の例は、cmd、これは作成したプログラムで、Path.GetDirectoryName で、cmd が実行されているフォルダーの絶対パスを調べます。これに設定ファイル名を接続し、File.Exists でファイルの有無を確認します。存在するなら何もしない。

Imports System.IO

If File.Exists(Path.GetDirectoryName(cmd) & "\config.ini") Then
     Console.WriteLine("config.iniあり")
Else
     Console.WriteLine("config.iniなし、ファイル作成")
     Dim fs As FileStream = File.Create(Path.GetDirectoryName(cmd) & "\config.ini")
     fs.Close()
End If

ファイルが存在しない場合は、File.Create コマンドで作りますが、そのパスも存在確認したコマンドと同じ「Path.GetDirectoryName(cmd) & “\config.ini”」を使います。
終わったら fs.close() で閉じます。

これで完了。

Console.WriteLine はプログラムには不要ですが、デバッグ時にはどっちを流れているのか分かるので、あると便利。セキュリティーまで考えるなら、パーミッションも確認する方がいいかもしれませんが、とりあえず動けばいい程度であれば、このままでいいでしょう。

コメントを残す