文件流访问被拒绝

3
我目前遇到一个C#程序的问题。我试图使用文件流创建或编辑文件,但似乎无法使其正常工作。
我一直出现“拒绝访问”的异常,但是我尝试了所有方法(授予所有用户权限,以管理员身份运行,语法正确)。
说实话,我有点迷失方向......
我甚至尝试从教程中获取示例,以确保没有语法问题,但仍然不行。
public MainPage()
{
  this.InitializeComponent();
  string dir = @"C:\temp\data.bin";

  FileStream fs = new FileStream(dir, FileMode.Create, FileAccess.ReadWrite);
  fs.Close();
}

即使使用默认的 Visual Studio 文件夹,仍然无法正常工作:
string dir = Directory.GetCurrentDirectory();
string fil = @"\data.bin";

FileStream fs = new FileStream(dir + fil, FileMode.Create, FileAccess.ReadWrite);
fs.Close();

这段代码给了我一个异常:

System.UnauthorizedAccessException:'拒绝访问路径'C:\ Users \ Arthok \ source \ repos \ test \ test \ bin \ x64 \ Debug \ AppX \ data.bin'。'

编辑:尝试使用UWP位置#pm100。


文件已经打开了吗,还是被锁定了? - Ryan Wilson
问题似乎是你的目标对象是“uwp”。即使你有正确的权限,Windows 10 平板电脑程序也无法访问大多数文件系统。 - Alejandro
@Alejandro 可能是这样,你知道我应该去哪里尝试吗? - Arthok
2
https://learn.microsoft.com/en-us/windows/uwp/files/file-access-permissions - pm100
你是否在管理员模式下使用VS Studio? - Murat Can OĞUZHAN
2个回答

2
谢谢大家,但我只是在 UWP 中,没有意识到 FileStream 不起作用。因此,答案显然在手册中(感谢 pm100)。

https://learn.microsoft.com/en-us/windows/uwp/files/quickstart-reading-and-writing-files

"我只需要用这个命令创建文件:"
Windows.Storage.StorageFolder storageFolder =
Windows.Storage.ApplicationData.Current.LocalFolder;
Windows.Storage.StorageFile sampleFile =
await storageFolder.CreateFileAsync("sample.txt", Windows.Storage.CreationCollisionOption.ReplaceExisting);

0

我认为你需要使用 FileMode.OpenOrCreate。另外尝试以提升的权限运行你的应用程序。


1
这是UWP,UWP的权限非常受限,无法在任意文件夹中写入。请从pm100的链接进行修订:https://learn.microsoft.com/zh-cn/windows/uwp/files/file-access-permissions - Gusman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接