FileStream访问被拒绝

时间:2018-02-01 17:58:33

标签: c# .net uwp

我目前在使用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

2 个答案:

答案 0 :(得分:1)

感谢所有人,但我只是在UWP,并没有意识到FileStream不会工作。 所以答案显然在手册中(感谢pm100):

https://docs.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);

答案 1 :(得分:0)

I think you need FileMode.OpenOrCreate. Also try running you application with elevated privilege.