我想使用BinaryReader读取二进制文件,但我一直有异常:
using (var stream = File.Open("file.bin", FileMode.Open, FileAccess.Read))
{
using (BinaryReader r = new BinaryReader(stream)) //EXCEPTION
{
}
}
“file.bin”已在构建操作中设置为内容,但我一直收到此异常:
System.MethodAccessException未处理
尝试访问该方法失败:System.IO.File.Open(System.String,System.IO.FileMode,System.IO.FileAccess)
答案 0 :(得分:1)
您不在Windows Phone 7上使用File.Open
- 您必须使用isolated storage。
有关详细信息,请参阅System.IO.IsolatedStorage
命名空间。
例如:
using (var store = IsolatedStorageFile.GetUserStoreForApplication())
{
using (var stream = store.OpenFile("file.bin", FileMode.Open))
{
using (var reader = new BinaryReader(stream))
{
}
}
}
编辑:正如评论中所述,对于内置于XAP中的内容,您应该使用Application.GetResourceStream
。