【问题标题】:An error in creating file in c#.net在 c#.net 中创建文件时出错
【发布时间】:2018-04-09 03:48:57
【问题描述】:

我尝试使用File.Create 创建文件,但出现错误。我无法解决这个问题。我搜索了这个问题并找到了这段代码并将其复制到 Visual Studio 但它仍然有这个错误:

在 mscorlib.dll 中发生了“System.UnauthorizedAccessException”类型的未处理异常

附加信息:对路径“C:\aaa.txt”的访问被拒绝。

我的代码:

string path = "C:\\aaa.txt";

if (File.Exists(path))
{
    Console.WriteLine("file exist");
}
else
{
    using (FileStream fs = File.Create(path))
    {
        Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file.");

        fs.Write(info, 0, info.Length);
    }
}

【问题讨论】:

  • 尽量不要写入根目录!!

标签: c#


【解决方案1】:

停止尝试在驱动器 C: 的根目录创建文件;标准用户被禁止这样做,即使对于管理员来说也是一个坏主意。如果这是用户的文件,请将其放在用户的文件夹中:

string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "aaa.txt");

如果不是用户文件,请查看 Environment.SpecialFolder 值以找到要放入的文件夹。

【讨论】:

  • 我尝试在其他文件夹中创建。有效 。谢谢
【解决方案2】:

我希望您理解错误,但简单地说它意味着您没有修改/写入路径的权限。

那么,为什么不以管理员身份运行您的应用呢?..

创建一个应用程序清单文件(右键单击项目>添加>新项目>应用程序清单文件)并添加:

   <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

最后一件事,如果你真的想创建一个简单的文本文件,为什么不直接使用一行代码,比如File.WriteAllTexr ??

【讨论】:

  • 我将它添加到清单中但没有用。我正在学习 c#.net,所以我是初学者,我不知道 dot net 中的很多代码
  • 我希望我能在 Skype 上邀请你,但我不知道这是否是正确的做法......我也无法在这里解释这一切,因为它可能会变得很大......但是,您甚至无法回复 SO 聊天,因为您的声望很少
猜你喜欢
  • 1970-01-01
  • 2021-11-26
  • 1970-01-01
  • 1970-01-01
  • 2019-08-27
  • 1970-01-01
  • 2017-05-02
  • 2016-10-28
相关资源
最近更新 更多