UWP操作文件使用System.IO时会发现总是提示权限不足即便勾选了Package文件中的文件操作也不能操作当使用微软官方推荐的Storage时便可以操作如下代码
StorageFolder storageFolder = ApplicationData.Current.LocalFolder;
StorageFile storageFile= await storageFolder.CreateFileAsync("Config.xml", CreationCollisionOption.OpenIfExists);
但是虽然可以操作但远没有IO类库中的类用着方便,而且因为其还是异步方法在调用时用于进行数据读取还好但用于获取流并通过流操作文件时可用性几乎没有而且效率极低。如下列代码
Stream stream = await storageFile.OpenStreamForWriteAsync();//经常在立马就用的时候流还没有获取到
如何使用IO类库进行文件操作
ApplicationData.Current.LocalFolder他会返回StorageFolder类在这个类里面有一个Path属性
如C:\Users\Administrator\AppData\Local\Packages\2a4e0756-df2f-456c-b824-dad0762ced7b_75cr2b68sm664\LocalState就是程序在部署时操作系统在AppData中创建的文件夹并提供给应用程序文件操作权限(前提时勾选文件操作权限后)也就是说应用程序可以对这个路径下的文件随意进行增删改查所以以前使用System.IO怎么对文件进行操作就怎么进行如
File.WriteAllText($"{ApplicationData.Current.LocalFolder.Path}\\vvv.xml", "123456");//创建文件
Console.Text = XDocument.Load(${ApplicationData.Current.LocalFolder.Path}\\Config.xml").Element("App_Config").Element("Style").Attribute("Path").Value;//读取xml内容