System.IO
Windows と Linux で動作するように、クラス内のファイル名をクロスプラットフォーム方式で処理するにはどうすればよいですか?
たとえば、Windows では完璧に動作する次のコードを記述しますが、Ubuntu Linux ではファイルが作成されません。
var tempFilename = $@"..\Data\uploads\{filename}";
using (FileStream fs = System.IO.File.Create(tempFilename))
{
file.CopyTo(fs);
fs.Flush();
}
ベストアンサー1
以下のように Path.DirectorySeparatorChar を使用することもできます。
Console.WriteLine("..{0}Data{0}uploads{0}{{filename}}", Path.DirectorySeparatorChar);
参照:マイクロソフト