如何使用与平台无关的dotnet core正确处理文件路径?即我使用的是Mac,并且尝试打开相对于我的用户个人资料的文件
var file="~/Downloads/example.zip";
var fullPath = Path.GetFullPath(file);
返回
/Users/Me/Projects/Test/Test/~/Downloads/example.zip
答案 0 :(得分:2)
使用Environment.ExpandEnvironmentVariables("%HOME%")
来获得~
的等价物。像
var file = Environment.ExpandEnvironmentVariables("%HOME%/Downloads/example.zip");
使用Environment.GetEnvironmentVariable("HOME")
:
var file = Environment.GetEnvironmentVariable("HOME") + "/Downloads/example.zip");
使用Environment.GetFolderPath(Environment.SpecialFolder.UserProfile)
:
var file = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) ....