Question

I want to read a binary file using BinaryReader, but I keep getting an exception:

using (var stream = File.Open("file.bin", FileMode.Open, FileAccess.Read))
        {
            using (BinaryReader r = new BinaryReader(stream)) //EXCEPTION
            {

            }
        }

the "file.bin" has been set as a Content in the build action, but I keep getting this exception:

System.MethodAccessException was unhandled

Attempt to access the method failed: System.IO.File.Open(System.String, System.IO.FileMode, System.IO.FileAccess)

Was it helpful?

Solution

You don't use File.Open on Windows Phone 7 - you have to use isolated storage.

See the System.IO.IsolatedStorage namespace for more details.

For example:

using (var store = IsolatedStorageFile.GetUserStoreForApplication())
{
    using (var stream = store.OpenFile("file.bin", FileMode.Open))
    {
        using (var reader = new BinaryReader(stream))
        {

        }
    }
}

EDIT: As noted in comments, for content built into the XAP, you should use Application.GetResourceStream.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top