我正在使用Windows 8发布预览和C#(VS 2012)开发metro应用程序,我一直在创建异步创建文件。我正在使用以下代码在文件夹
中创建文件StorageFolder storageFolder = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync("Data");
StorageFile File= await storageFolder.CreateFileAsync("DataFile",CreationCollisionOption.ReplaceExisting);
await Windows.Storage.FileIO.WriteTextAsync(File, result);
“数据”是foldername,“result”是文本,“DataFile”是文件名,但我在此行获得了UnAuthorisedAccessException
StorageFile File= await storageFolder.CreateFileAsync("DataFile",CreationCollisionOption.ReplaceExisting);
我知道我的文件夹“Data”是只读的,但是如何将文件夹属性更改为可写,我也尝试了storageFolder.Attributes
属性,但它只是readonly属性。
答案 0 :(得分:3)
您在InstalledLocation中没有获得写访问权限。它基本上就像写入“Program Files”(它实际上是“Program Files”中的一个文件夹),据我所知,出于安全原因,它早在Vista中被阻止了。
您应该尝试写入ApplicationData.Current.LocalFolder。