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

时间:2013-01-13 00:26:46

标签: .net windows-store-apps

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

我正在调查更多内容,“.NET for Windows商店应用概述”指南讨论了IsolatedStorage,这个库目前甚至没有使用。 经过一些阅读,我认为真正的替代品可能是来自nacemspace的FileRandomAccessStream:Windows.Storage.Streams

与Windows Store应用中使用的FileStream等效的真实是什么?

2 个答案:

答案 0 :(得分: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路径,但允许您访问DocumentsPicturesDownloads(即使您的应用程序没有下载文件)。

答案 1 :(得分:7)

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

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