GetFullPath
名前空間System.IOのPath.GetFullPathを使用すると、同名前空間のDirectory.GetCurrentDirectory()で取得できるパスが自動で付加されます。例)
string fileName = "foo.txt"; string fullpath = Path.GetFullPath(fileName);「カレントディレクトリ + fileName」という文字列を返します。
カレントディレクトリが仮に『C:\fuga』とすると上記『fullpath』には『C:\fuga\foo.txt』が入ります。
また、以下のような途中までのパスを渡すと、
string path= "\mydir\foo.txt"; string fullpath = Path.GetFullPath(path); //fullpath = C:\mydir\foo.txt"「ルートディレクトリ + param」という形で返します。
Combine
Path.Combineは以下のように使用します。string path = Path.Combine(dir,filename);渡された文字列(上記の場合"dir"と"filename")の間に"\"を挿入してくれます。
必要性があまり感じられませんが、凡ミスを防ぐ意味で使うのもアリかなと。
Sample
『Directory.GetCurrentDirectory()』によって取得されるディレクトリと『Path.GetFullPath()』によって付加されるディレクトリが同じかを確かめています。static void Main(string[] args) { string fileName = "foo.txt"; string currentDir = Directory.GetCurrentDirectory(); string fullPath1 = Path.GetFullPath(fileName); string fullPath2 = Path.GetFullPath(Path.Combine(currentDir, fileName)); Console.WriteLine(fullPath1); Console.WriteLine(fullPath2); Console.WriteLine(fullPath1 == fullPath2); }
0 Comments:
コメントを投稿