如何在Windowsapp store应用中读取二进制文件?

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

BinaryReader的文档示例无益使用File!

您始终使用StorageFile类访问Windowsapp store应用中的文件:

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() ,而不考虑编码。