创建和写入文件夹时UnauthrizedAccessException

时间:2017-05-22 08:28:51

标签: c#

我试图在我的文档中创建一个新文件夹并向其添加一个错误日志文本文件但是我得到了UnauthrizedAccessException。如何授予创建此文件夹并写入文件夹的权限?

我的代码如下所示,用于创建我的错误日志

        string currentContent = String.Empty;
        string message = string.Format("Time: {0}", DateTime.Now.ToString("dd/MM/yyyy hh:mm:ss tt"));




        message += "-----------------------------------------------------------";

        message += Environment.NewLine;
        message += string.Format($"Message: {errorText} {ex.Message}");

        message += Environment.NewLine;
        message += string.Format($"On Line: {currentLine} Test name {methodName}");
        string filePath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ErrorLog\ErrorLogAutomatedTesting.txt";

        if (File.Exists(filePath))
        {
            currentContent = File.ReadAllText(filePath);
        }
        else
          System.IO.Directory.CreateDirectory(filePath);
        Thread.Sleep(2000);

        File.WriteAllText(filePath, message + currentContent);

1 个答案:

答案 0 :(得分:1)

您正在创建一个文件名为ErrorLogAutomatedTesting.txt的目录。所以它不是一个文件,而是一个目录。这是因为filePath变量也包含文件的名称。所以试试没有它:

var dir = System.IO.Path.GetDirectoryName(filePath);
System.IO.Directory.CreateDirectory(dir);