Windows phone 8 不允许在isolatedstoragefilestream上始终执行操作

Windows phone 8 不允许在isolatedstoragefilestream上始终执行操作,windows-phone-8,Windows Phone 8,关于这个错误有很多问题,但我找不到我面临的问题 我有两个按钮:一个用于将一些字符串保存到isolatedStorage中,另一个用于读取它 当我试图阅读它时,我得到了写在标题中的错误信息 按钮1.点击是: using (var store = IsolatedStorageFile.GetUserStoreForApplication()) using (var stream = new IsolatedStorageFileStream("kedvencek" + ".

关于这个错误有很多问题,但我找不到我面临的问题

我有两个按钮:一个用于将一些字符串保存到isolatedStorage中,另一个用于读取它

当我试图阅读它时,我得到了写在标题中的错误信息

按钮1.点击是:

using (var store = IsolatedStorageFile.GetUserStoreForApplication())
            using (var stream = new IsolatedStorageFileStream("kedvencek" + ".txt",
                System.IO.FileMode.Append,
                System.IO.FileAccess.ReadWrite,
                store))
            {
                StreamWriter writer = new StreamWriter(stream);
                writer.WriteLine("something");
                writer.Close();
                stream.Close();
            }
和按钮2:

using (var store = IsolatedStorageFile.GetUserStoreForApplication())
            using (var stream = new IsolatedStorageFileStream("kedvencek" + ".txt",
                System.IO.FileMode.Open,
                System.IO.FileAccess.ReadWrite,
                store))
            {
                StreamReader sr = new StreamReader(stream);
                string text = sr.ReadToEnd();
                MessageBox.Show(text);
                sr.Close();
                stream.Close();

            }

您面临的问题与以下事实有关:

FileMode.Append只能与Write一起使用

因此,如果您将其更改为:

using (var stream = new IsolatedStorageFileStream("kedvencek" + ".txt",
            FileMode.Append, FileAccess.Write, store))
另一方面,您不需要在使用流时关闭它,在退出使用后,steream将自动释放。而且最好将StreamWriter也投入使用:


有什么区别吗,如果你也在使用中使用StreamWriter和StreamReader?我尝试了几种方法,但仍然得到了错误消息,在一个新项目中,代码有点不同,当我复制到这个项目中时,它再次显示错误消息:S
private void first_Click(object sender, RoutedEventArgs e)
{
    using (var store = IsolatedStorageFile.GetUserStoreForApplication())
    using (var stream = new IsolatedStorageFileStream("kedvencek" + ".txt", FileMode.Append, FileAccess.Write, store))
    using (StreamWriter writer = new StreamWriter(stream))
    {
        writer.WriteLine("something");
    }
}

private void second_Click(object sender, RoutedEventArgs e)
{
    using (var store = IsolatedStorageFile.GetUserStoreForApplication())
    using (var stream = new IsolatedStorageFileStream("kedvencek" + ".txt", FileMode.Open, FileAccess.ReadWrite, store))
    using (StreamReader sr = new StreamReader(stream))
    {
        string text = sr.ReadToEnd();
        MessageBox.Show(text);
    }
}