Чтение двоичного файла на телефоне Windows - PullRequest
0 голосов
/ 25 ноября 2011

Я хочу прочитать двоичный файл, используя BinaryReader, но получаю исключение:

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

            }
        }

"file.bin" был задан как Content в действии сборки, но я продолжаю получать это исключение:

System.MethodAccessException не обработано

Попытка доступа к методу не удалась: System.IO.File.Open (System.String, System.IO.FileMode, System.IO.FileAccess)

1 Ответ

1 голос
/ 25 ноября 2011

Вы не используете File.Open на Windows Phone 7 - вам нужно использовать изолированное хранилище .

Подробнее см. Пространство имен 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.

...