我无法使用下面的代码创建.txt文件。我得到如下例外:
未处理的异常:System.unauthorizedAccessException:访问 路径'C:\ log.txt'被拒绝。
我已经在线查看并完成了与api相似的事情。下面是我的代码,所以你可以理解我的逻辑列是什么。您认为导致此异常的原因是什么?提前谢谢!
static StreamWriter swt;
static string logFile = @"C:\log.txt";
static FileStream fs;
static void Main(string[] args)
{
Console.Out.WriteLine(swt);
string root = args[0];
if (!File.Exists(logFile))
{
try
{
fs = File.Create(logFile);
}
catch (Exception ex)
{
swt.WriteLine("EXCEPTION HAS BEEN THROWN:\n " + ex + "\n");
}
{
}
}
}
答案 0 :(得分:9)
您最有可能收到此错误,因为标准用户无法在没有提升权限的情况下写入驱动器的根目录。请参阅here。
答案 1 :(得分:2)
检测文件夹权限。它必须具有对已登录用户的写入权限。
答案 2 :(得分:2)
是的,这是权限错误。您没有足够的权限在C:驱动器中写入文件。要写入这些类型的文件夹/驱动器,您需要管理员权限。
您可以授予您的应用程序管理员权限。简单的方法是强制您的应用程序仅在管理员帐户/权限中启动。实现这个目标
解决方案资源管理器 - >你的项目 - >添加新项目(右键单击) - >应用程序清单文件。
在此文件中将requestedExecutionLevel
更改为
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
这些仅使用管理员权限强制执行您的应用程序。在Windows 8/7 / Vista上,当您启动应用程序时,它将显示UAC(用户访问控制)对话框。
希望这会对你有帮助....