首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IsolatedStorageFile不写入文件

IsolatedStorageFile不写入文件
EN

Stack Overflow用户
提问于 2012-11-19 04:59:34
回答 1查看 109关注 0票数 1

我必须在会话之间存储控件的内容。这就是我要做的:

代码语言:javascript
复制
    private void Window_Closing(object sender, CancelEventArgs e)
    {
        IsolatedStorageFile f = IsolatedStorageFile.GetUserStoreForAssembly();
        using(IsolatedStorageFileStream stream = new IsolatedStorageFileStream("somefilename", FileMode.Create, f))
        using(StreamWriter writer = new StreamWriter(stream))
        {
            foreach(string path in searchFoldersListView.Items)
            {
                writer.WriteLine(path);
            }
        }
    }

它附加到窗口的Closing事件。调试时,控件会遍历所有项,但当我再次运行程序时,控件是空的。事实证明,当我导航到该文件时,它是空的。当我通过在foreach循环中放置一个File.AppendAllText()来更改代码以保存到常规文件时,该文件保存得很好。为什么会这样呢?

编辑:正在读取事件处理程序:

代码语言:javascript
复制
    private void Window_Initialized(object sender, EventArgs e)
    {
        IsolatedStorageFile f = IsolatedStorageFile.GetUserStoreForAssembly();
        using(IsolatedStorageFileStream stream = new IsolatedStorageFileStream("somefilename", FileMode.OpenOrCreate, f))
        using(StreamReader reader = new StreamReader(stream))
        {
            string line = reader.ReadLine();
            while(line != null)
            {
                searchFoldersListView.Items.Add(line);
            }
        }
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-08 08:04:02

读取文件的方法中存在错误。您只读到了第一行,可能是null。尝试以下操作:

代码语言:javascript
复制
    using(StreamReader reader = new StreamReader(stream))
    {
        string line = reader.ReadLine();
        while(line != null)
        {
            searchFoldersListView.Items.Add(line);
            line = reader.ReadLine();
        }
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13444519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档