【问题标题】:How to avoid UnauthorizedAccessException on .Net framework?如何避免 .Net 框架上的 UnauthorizedAccessException?
【发布时间】:2022-10-14 01:17:11
【问题描述】:

我正在尝试将一些数据导出到 txt 文件,但由于我得到未经授权的异常,它不起作用。

我尝试以管理员身份运行 Visual Studio,但它不起作用

这是我的代码:

  TextWriter txt = new StreamWriter(path);
  for (int i = 0; i < Movies.Count; i++)
  {
     txt.WriteLine(Movies[i].title);
  }
  txt.Close();

路径是正确的

【问题讨论】:

  • path 的值是多少?您的用户是否有权访问该文件?异常是否有任何附加信息?该文件当前是否被另一个(或相同)进程使用?
  • @gunr2171 我正在尝试将文件导出到我的桌面,但异常显示: System.UnauthorizedAccessException: 'Access denied for 'C:\Users\user\Desktop'。
  • 桌面是一个文件夹.您正在尝试写入文件夹吗?
  • 展示你如何构建路径。

标签: c# .net visual-studio


【解决方案1】:

确保验证您的路径。如果你的路径是一个文件夹,你需要附加一个文件名:

//check if folder exists
if(!Directory.Exists(path))
{
    Directory.CreateDirectory(path);
}

//append filename
var filepath = Path.Combine(path, "myfile.txt");

//write file
TextWriter txt = new StreamWriter(filepath);
  
for (int i = 0; i < Movies.Count; i++)
{
   txt.WriteLine(Movies[i].title);
}

txt.Close();

不要尝试直接写入文件夹,这可能是导致异常的原因。您始终需要提供要写入的文件的有效路径。

【讨论】:

    猜你喜欢
    • 2016-04-08
    • 2021-02-28
    • 1970-01-01
    • 2012-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多