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"。
如果有人能告诉我我的代码出了什么问题,以及我需要做些什么来修复它,我将不胜感激。附带说明:对不起糟糕的代码,我有点初学者:)
Directory.CreateDirectory(tempFile);
您刚刚创建了一个目录,其名称以"*.txt"结尾。
然后尝试创建一个具有完全相同路径的文件。但这是不可能的。
您对文件名调用CreateDirectory
,因此现在File.Create
试图调用的路径中存在一个文件夹。只需删除Directory.CreateDirectory(tempFile);
行(不需要它,因为文件夹保证存在),代码就可以工作了。
您正在创建一个目录,而不是一个文件。不能将目录作为文件打开。