ファイル操作

[C#] ローカルファイルパスを通常のパス形式に変換する

ローカルファイルパスを通常のパス形式に変換する方法です。

サンプル

例)ローカルファイルパスを通常のパス形式に変換する


// ローカルファイルパスURI
string localPath = "file:///C:/work/test.txt";

// URIオブジェクト生成
Uri uri = new Uri(localPath);

// 通常のパス形式に変換
string path = uri.LocalPath + Uri.UnescapeDataString(uri.Fragment);

結果

path → "C:\work\test.txt"

備考

  • Uri.UnescapeDataString(uri.Fragment) は、ローカルファイルパスに「#」が含まれている場合の対応です。
    (ローカルファイパスに#が含まれると#以前までしか出力されませんが、Uri.UnescapeDataStringで対応できます。)
  • ローカルファイルパスの形式が間違っている場合は、System.UriFormatExceptionが発生します。

-ファイル操作
-