.NET for Windows Store中的FileStream在哪里?

Cra*_*son 13 .net windows-store-apps

我正在创建一个Windows应用商店应用.我需要创建一个FileStream,以便为专有文件格式编写一些复杂的数据.我将System.IO添加到我的用途,但没有FileStream可用.

我正在调查一些,".NET for Windows Store应用程序概述"指南讨论了IsolatedStorage,这个库目前还没有使用.经过一些阅读,我认为真正的替代品可能是来自nacemspace的FileRandomAccessStream:Windows.Storage.Streams

在Windows应用商店应用中使用FileStream 的真正等价物是什么?

Eri*_*rik 14

实际上,沙盒在您可以读/写的位置有许多限制.以下是一些典型的位置:

如果您尝试从应用程序的安装文件夹加载资源,可以使用以下命令:

  • StorageFolder installFolder = Windows.ApplicationModel.Package.Current.InstalledLocation

  • StorageFile file = await StorageFile.GetFileFromApplicationUriAsync("ms-appx:///file.txt");

(它是一个只读文件夹,因此您无法编辑或创建新文件.)

如果您尝试将数据文件写入应用程序的数据文件夹,则可以使用以下命令:

  • StorageFolder localFolder = ApplicationData.Current.LocalFolder;

  • StorageFile file = await StorageFile.GetFileFromApplicationUriAsync("ms-appdata:///local/file.txt");

(此文件夹是可读写的.您还可以通过将本地文件夹更改为其他两个文件夹来访问漫游临时文件夹.)

还有一些其他文件夹,例如DownloadsFolder,虽然您只能访问应用程序下载的文件.

另外,您也可以随时要求与权限的用户FileOpenPickerFileSavePicker.拣货员也不会允许访问的InstalledLocation路径,但将允许您访问Documents,Pictures以及Downloads(即使你的应用程序没有下载的文件).


Llo*_*oyd 7

由于沙盒环境,在其中运行的Windows应用商店应用已被替换StorageFile.请参阅此处获取文档: -

http://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.storagefile.aspx