【问题标题】:c# wpf read only folderc# wpf 只读文件夹
【发布时间】:2018-09-22 00:09:42
【问题描述】:

我正在文档中创建一个新文件夹,然后我想向它写入一个文件。问题是,我创建的文件夹是“只读”的。所以我不能向它添加文件。我无法修复它。

我现在拥有的:

string target_path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "data");
Directory.CreateDirectory(target_path);
var di = new DirectoryInfo(target_path);
di.Attributes &= ~FileAttributes.ReadOnly;

我还让我的程序以管理员身份启动,但这没有任何区别。

编辑

尝试在文件夹中存储文件时出现以下错误:

System.UnauthorizedAccessException: '访问路径“xxxx”'被拒绝。'

【问题讨论】:

  • 为什么你认为这个文件夹是“只读”的?您是否尝试在其中创建文件?您是否正在查看 Windows 资源管理器中的文件夹属性?复选框中是否有正方形? That doesn't mean you can't add things to the folder!
  • 您要更改哪个文件夹的权限?
  • 我想在我的文档中创建一个文件夹,然后我想在该文件夹中存储一个文件。但我收到错误:System.UnauthorizedAccessException: 'Access to the path "xxxx"' is denied.'
  • 您发布的代码不会“在该文件夹中存储文件”,当我尝试以标准用户身份运行时,它运行良好。您在 Documents 文件夹中创建的文件夹不是“只读的”,您无需更改文件夹属性即可在其中存储文件。您还需要告诉我们实际的错误消息,而不仅仅是您从消息中挑选出来的几个字。

标签: c# wpf readonly


【解决方案1】:

尝试明确设置权限。

string target_path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "data");
DirectorySecurity securityRules = new DirectorySecurity();
securityRules.AddAccessRule(new FileSystemAccessRule("Users",FileSystemRights.FullControl, AccessControlType.Allow));
DirectoryInfo di = Directory.CreateDirectory(target_path, securityRules);

【讨论】:

  • 感谢您的回复!我仍然收到此错误消息:System.UnauthorizedAccessException: 'Access to the path "xxxx"' is denied.'
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-22
  • 2011-05-18
  • 2017-08-20
  • 1970-01-01
相关资源
最近更新 更多