byteデータを読み込むには

FileIOを使う場合

FileIOのReadBufferAsyncでバッファーを取得できます。

そのバッファーをDataReaderで読み込みます。

StorageFileはFileOpenPickerなどで取得してください。

//StorageFileからバッファーを読み込む
IBuffer buffer=await FileIO.ReadBufferAsync(file);
//バッファーのサイズだけbyteを確保する
byte[] buff2 = new byte[buffer.Length];
//DataReaderで読み込む
DataReader r=DataReader.FromBuffer(buffer);
r.ReadBytes(buff2);

 

RandomAccessStreamを使う場合

StorageFileのOpenAsyncメソッドでストリームを取得できます。

DataReaderのLoadAsyncでストリームからバッファーに読みこむことができるので

ReadBytesでデータを読み込みます。

//StorageFileからRandomAccessStreamを読み込む
using (IRandomAccessStream stream = await file.OpenAsync(FileAccessMode.Read))
{
    using(DataReader reader = new DataReader(stream)){
        //入力ストリームから指定サイズをバッファーに読み込む
        await reader.LoadAsync((uint)stream.Size);

        buff = new byte[stream.Size];
        //ストリームからバイト配列を読み込む
        reader.ReadBytes(buff);
    }
}

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください