13

Windowsストアアプリを作成しています。プロプライエタリファイル形式の複雑なデータを書き込むには、FileStreamを作成する必要があります。System.IOを使用に追加しましたが、使用可能なFileStreamがありません。

私はもう少し調査しました、そして「.NET for Windows Storeアプリの概要」ガイドは、このライブラリが現在さえ使用していないIsolatedStorageについて話します。少し読んだ後、本当の置き換えは、nacemspaceからのFileRandomAccessStreamである可能性があると思います:Windows.Storage.Streams

Windowsストアアプリで使用するFileStreamと実際に同等のものは何ですか?

4

2 に答える 2

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");

(このフォルダーは読み取り/書き込み可能です。ローカルを他の2つに変更することで、ローミングフォルダーまたは一時フォルダーにアクセスすることもできます。)

DownloadsFolderアプリケーションがダウンロードしたファイルにのみアクセスできますが、などの他のフォルダもいくつかあります。

または、とを使用して、いつでもユーザーに許可を求めることができFileOpenPickerますFileSavePicker。ピッカーはパスへのアクセスを許可しませが、、、、および(アプリがファイルをダウンロードしなかった場合でも)にアクセスすることはできます。InstalledLocationDocumentsPicturesDownloads

于 2013-01-13T01:20:10.033 に答える
7

サンドボックス環境のため、その中で実行されているWindowsStoreアプリはに置き換えられましたStorageFile。ドキュメントについては、こちらを参照してください:-

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

于 2013-01-13T00:29:49.643 に答える