c#拒绝访问路径

本文关键字:路径 拒绝访问 | 更新日期: 2023-09-27 18:26:59

我遇到了一个错误。我在网上搜索过,但没有找到一个对我来说有意义的答案。我基本上是在尝试创建一个临时文本文件,并写入其中。这里是关于错误的代码:

using ( StreamWriter output = new StreamWriter(File.Create(GetTemporaryDirectory())))

以及getTemporaryDirectory方法:

 public string GetTemporaryDirectory() {
        string tempDirectory = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName());
        string tempFile = Path.ChangeExtension(tempDirectory, ".txt");
        Directory.CreateDirectory(tempFile);
        return tempFile;
    }

最后但并非最不重要的错误:

dir=C:''Users''Jack Givens''AppData''Local''Temp''5ftxwy31.txtmscorlib.dll中首次出现"System.UnauthorizedAccessException"类型的异常mscorlib.dll中发生"System.UnauthorizedAccessException"类型的未处理异常附加信息:拒绝访问路径"C:''Users''Jack Givens''AppData''Local''Temp''0lpe1k5t.txt"。

如果有人能告诉我我的代码出了什么问题,以及我需要做些什么来修复它,我将不胜感激。附带说明:对不起糟糕的代码,我有点初学者:)

c#拒绝访问路径

 Directory.CreateDirectory(tempFile);

您刚刚创建了一个目录,其名称以"*.txt"结尾。

然后尝试创建一个具有完全相同路径的文件。但这是不可能的。

您对文件名调用CreateDirectory,因此现在File.Create试图调用的路径中存在一个文件夹。只需删除Directory.CreateDirectory(tempFile);行(不需要它,因为文件夹保证存在),代码就可以工作了。

您正在创建一个目录,而不是一个文件。不能将目录作为文件打开。