Edited at

C#(Unity)でのファイルパスの取得

More than 5 years have passed since last update.


C#(Unity)でのパスの取得


指定したフォルダ内のファイルのパスを取得


string folderPath = "/hoge/hogehoge";
string[] fs = System.IO.Directory.GetFiles (@folderPath, "*" );


A. 指定したフォルダにあるファイルだけを取得する場合

3番目の引数 searchOption で TopDirectoryOnly を指定する


string folderPath = "/hoge/hogehoge";
string[] fs = System.IO.Directory.GetFiles (@folderPath, "*", System.IO.SearchOption.TopDirectoryOnly);


B. 指定したフォルダのサブフォルダも含めたフォルダにあるファイルを取得する場合

3番目の引数 searchOption で AllDirectories を指定する


string folderPath = "/hoge/hogehoge";
string[] fs = System.IO.Directory.GetFiles (@folderPath, "*", System.IO.SearchOption.AllDirectories);


パス文字列からファイル名部分を取得


A. ファイル名部分を取得


string path = "/hoge/hogehoge/hoge.png";
string fileName = System.IO.Path.GetFileName (path);

Debug.Log (fileName);

(出力結果) hoge.png


B. 拡張子名部分を取得


string path = "/hoge/hogehoge/hoge.png";
string fileName = System.IO.Path.GetExtension (path);

Debug.Log (fileName);

(出力結果) .png


C. 拡張子をのぞいたファイル名部分を取得


string path = "/hoge/hogehoge/hoge.png";
string fileName = System.IO.Path.GetFileNameWithoutExtension (path);

Debug.Log (fileName);

(出力結果) hoge


D. ディレクトリ名部分を取得


string path = "/hoge/hogehoge/hoge.png";
string fileName = System.IO.Path.GetDirectoryName (path);

Debug.Log (fileName);

(出力結果) /hoge/hogehoge