如何在Windows应用商店应用中读取二进制文件?

时间:2012-12-13 01:18:17

标签: c# .net-4.5 windows-store-apps

当System.IO命名空间不包含File类时,如何在Windows应用商店应用中读取二进制文件,或者更具体地说,如何创建Stream?

BinaryReader的documentation示例无助于使用File!

1 个答案:

答案 0 :(得分:13)

您始终使用StorageFile class:

访问Windows应用商店应用中的文件
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()作为二进制数据,而不考虑编码。