如何从 windows8 商店应用程序中的字节数组中获取流字节、应用程序、组中、商店

2023-09-06 06:39:33 作者:有你的梦我愿不醒。

我一直在尝试使用以下代码从 Metro 风格应用程序中的字节数组获取流.

I have been trying get a stream from a byte array in metro style app using the following code.

InMemoryRandomAccessStream memoryStream = new InMemoryRandomAccessStream();
memoryStream.AsStreamForWrite().Write(byteArray, 0, byteArray.Length);
memoryStream.Seek(0);

它执行时没有错误,但流大小为零 (0).谁能告诉我为什么它的大小为零?

It executes with no errors but stream size is zero (0). Can anybody tell me why is its size is zero?

推荐答案

您可以使用 DataWriter 和 DataReader 类.比如……

You can use the DataWriter and DataReader classes. For example ...

// put bytes into the stream
var ms = new InMemoryRandomAccessStream();
var dw = new Windows.Storage.Streams.DataWriter(ms);
dw.WriteBytes(new byte[] { 0x00, 0x01, 0x02 });
await dw.StoreAsync();

// read them out
ms.Seek(0);
byte[] ob = new byte[ms.Size];
var dr = new Windows.Storage.Streams.DataReader(ms);
await dr.LoadAsync((uint)ms.Size);
dr.ReadBytes(ob);