如何在c#控制台项目中授予写权限

时间:2018-12-25 06:37:19

标签: c#

我是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();
    }
}

3 个答案:

答案 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文件夹名将权限授予所有用户