System.IO 名前空間に File クラスが含まれていない場合、Windows ストア アプリでバイナリ ファイルを読み取る方法、またはより具体的にはストリームを作成する方法を教えてください。
BinaryReaderのドキュメントの例では、役に立たない File! を使用しています。
System.IO 名前空間に File クラスが含まれていない場合、Windows ストア アプリでバイナリ ファイルを読み取る方法、またはより具体的にはストリームを作成する方法を教えてください。
BinaryReaderのドキュメントの例では、役に立たない File! を使用しています。
Windows ストア アプリのファイルには、常にStorageFileクラスを使用してアクセスします。
StorageFile file = await ApplicationData.Current.LocalFolder.GetFileAsync(filename);
その後、WinRT API を使用してファイルのバイナリ コンテンツを取得できます。
IBuffer buffer = await FileIO.ReadBufferAsync(file);
byte[] bytes = buffer.ToArray();
BinaryReaderを使用する場合は、代わりにストリームが必要です。
StorageFile file = await ApplicationData.Current.LocalFolder.GetFileAsync("a");
Stream stream = (await file.OpenReadAsync()).AsStreamForRead();
BinaryReader reader = new BinaryReader(stream);
この場合、エンコードを考慮しないバイナリ データにのみReadBytes()を使用するようにしてください。