我开发了一个简单的.net应用程序,它从Web上抓取一些数据并将其保存在一个文件中(文件和proejct exe文件在同一个文件夹中)。
它在Windows上运行正常,但是当我使用'Mono'在Mac上运行时,我收到此错误
拒绝访问路径'[path]'。
我正在使用Directory.GetCurrentDirectory创建访问此文件。
这是我正在使用的路径:
System.IO.Directory.GetCurrentDirectory() + "\\abc.csv";
答案 0 :(得分:4)
您不应该使用字符串连接目录,而不是您希望应用程序跨平台。
<强> BAD 强>:
Directory.GetCurrentDirectory() + "\\abc.csv";
不可强>:
Path.Combine(Directory.GetCurrentDirectory(), "abc.csv");
使用Path.Combine
将确保使用正确的目录分隔符。
如果您必须遍历几个目录,请反复使用Path.Combine
:
Path.Combine(Path.Combine(Directory.GetCurrentDirectory(), "mydir"), "abc.csv");
答案 1 :(得分:1)
可能你在Windows上使用了错误的斜杠,你会使用类似“Path \ to \ my \ file”的东西,但在mac上,斜杠反转为“Path / to / my / file”