【问题标题】:Isolated Storage - delayed and wrong working隔离存储 - 延迟和错误的工作
【发布时间】:2013-04-02 11:13:43
【问题描述】:

我正在用 WP7 编写我的第一个应用程序,但我遇到了一个奇怪的 IS 问题:

                case "pn_s":            
                IsolatedStorageFile isoStorage = IsolatedStorageFile.GetUserStoreForApplication();
                //IsolatedStorageFileStream isoStream = isoStorage.CreateFile("plan_zajec_pn.txt"); 
                IsolatedStorageFileStream isoStream = new IsolatedStorageFileStream(("plan_zajec_pn.txt"), FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None, isoStorage);
                StreamWriter writer = new StreamWriter(isoStream);
                string dane="";
                for (int i = 0; i < 10; i++)
                {
                    dane += godzina[i].Text;
                    dane += ";";
                    dane += przedmiot[i].Text;
                    dane += ";";
                    dane += sala[i].Text;
                    dane += ";";
                }
                writer.WriteLine(dane);
                isoStream.Close();
                break;

其实没用... 重新打开应用程序后创建文件但它是空的,我检查了“dane”并且它包含日期

【问题讨论】:

    标签: windows-phone-7


    【解决方案1】:

    使用StreamWriter 时,不能关闭底层流,否则编写器可能没有足够的时间写入所有数据。只需关闭编写器,它就会负责关闭流。此外,您应该将您的流包含在using 语句中以关闭它们,即使引发错误也是如此。

    最后,您的代码应如下所示:

    case "pn_s":            
        using (var isoStorage = IsolatedStorageFile.GetUserStoreForApplication())
        {
            using (var isoStream = new IsolatedStorageFileStream(("plan_zajec_pn.txt"), FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None, isoStorage))
            {
                using (var writer = new StreamWriter(isoStream))
                {
                    string dane = "";
    
                    for (int i = 0; i < 10; i++)
                    {
                        dane += godzina[i].Text;
                        dane += ";";
                        dane += przedmiot[i].Text;
                        dane += ";";
                        dane += sala[i].Text;
                        dane += ";";
                    }
    
                    writer.WriteLine(dane);
                }
            }
        }
    
        break;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-27
      • 1970-01-01
      • 2019-04-07
      • 1970-01-01
      • 1970-01-01
      • 2021-06-30
      • 2012-10-28
      • 1970-01-01
      相关资源
      最近更新 更多