write ahead log

ロールフォワード用

VB.NETでのフォルダパスの組立と特殊フォルダ名の取り扱い方

パスをC:\とか指定するのは流石にないだろうと.

いい機会なのでまとめようと思う.

パスの組立

パスの取り扱いは専用のクラスが用意されている.

MS Developer Network - Pathクラス

パスの組立はCombineメソッドを使うといい感じ.

path = System.IO.Path.Combine(path, "hoge.csv")

このメソッドはオーバーロードされていて, 4引数まで使える.

path = System.IO.Path.Combine(path, "dir1", "dir2", "dir3", "hoge.csv")

特殊フォルダの場所の取得

Windowsでよく使う特殊フォルダは取得する方法が用意されている.

Environment.GetFolderPath メソッド

こんな感じで簡単にデスクトップのパスとかを取れる.

System.Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)

なのでデスクトップにファイルを保存する時も簡単.

デスクトップに"test.csv"を保存したいときにパスを作ると以下の感じ.

Dim path As String = System.IO.Path.Combine(
    System.Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), "test.csv")

特殊フォルダは定数になっているので必要なものを使うだけで良い.

Environment.SpecialFolder 列挙型

余談

他にも便利なメソッドがいっぱい.

メソッド名 機能
GetExtension(String) 指定したパス文字列の拡張子を返す
GetFileName(String) 指定したパス文字列のファイル名と拡張子を返す
GetFileNameWithoutExtension(String) 指定したパス文字列のファイル名を拡張子を付けずに返す