我是c#
的一个新手,我正在关注Bob Tabor的Microsoft官员。这门课程很棒,让我完全感兴趣。
出现问题,我试图在Mac机器上使用c#
控制台项目写入文件,但出现了权限被拒绝的错误,这很容易解释。我无法找到该解决方案,因为其他帖子显示的可用解决方案有很多我不了解的东西,并且我不会通过做一些我不了解的事情而失去兴趣。因此,我正在寻找简单而又不错的解决方案,从现在起,我是一个绝对的初学者。
这是我的Mac机器的代码
class Programme
{
static void Main(string[] args)
{
string myName = "My name is Carlos";
File.WriteAllText(@"/Users/username/Desktop", myName);
Console.ReadLine();
}
}
答案 0 :(得分:6)
File.WriteAllText
无法创建文件夹/Users/username
,如果它们不存在。试试:
File.WriteAllText(@"temp.txt", myName);
这将写入程序所在文件夹中的文件temp.txt
。
答案 1 :(得分:5)
您应该使用Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
来返回桌面的路径,而不是对桌面路径进行硬编码。不过,在使用文件名之前,您仍然需要在文件名后附加文件名。
string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "temp.txt");
File.WriteAllText(path, myName);
应该工作
答案 2 :(得分:0)
由于使用的是Mac,因此该程序可能没有写访问权限。使用终端浏览父文件夹,然后使用CHMOD 777文件夹名将权限授予所有用户