2011-11-12 298 views
0

我想創建一個文件,保存數據然後附加一些信息(例如,下次啓動應用程序時)。我使用此代碼:無法將數據附加到文件

 IsolatedStorageFile myStore = IsolatedStorageFile.GetUserStoreForApplication(); 
     using (var isoFileStream = new IsolatedStorageFileStream("history.dat", FileMode.Append, FileAccess.Write, myStore)) 
     { 
      //Write the data 
      using (var isoFileWriter = new StreamWriter(isoFileStream)) 
      { 
       isoFileWriter.WriteLine(m.Author + "|" + m.Receiver + "|" + m.Text + "|" + m.Date + "\r\n"); 
      } 
     } 

但它不工作:/只有第一行被保存 - 任何我想要添加到所創建的文件將會無處O_O我也嘗試過這種做法:

  using (var isoFileStream = new IsolatedStorageFileStream("history.dat", FileMode.Open, myStore)) 
      { 
       // Read the data. 
       using (var isoFileReader = new StreamReader(isoFileStream)) 
       { 
        data = isoFileReader.ReadLine(); 
       } 
      } 

驗證文件我已經使用了另一個類和IsoStoreSpy應用程序。 請幫忙。

回答

2

追加工作正常使用您的代碼。但是爲了讀取所有行,您必須重複它們,否則您只讀第一行:

while (!isoFileReader.EndOfStream) 
{ 
    string line = isoFileReader.ReadLine(); 
    System.Diagnostics.Debug.WriteLine(line); 
} 

測試和工作。在寫一行時,你不需要追加新行(「\ r \ n」)。 WriteLine會爲你做這個。

+0

仍然沒有工作!保存數據是問題 - 不讀取它們(我也使用外部應用程序來讀取數據)。只有第一行(在創建文件時寫入)被保存。 o_O奇怪。 –

+0

我使用了你的代碼 - 附加作品,數據保存在不同的程序開始。不知道你的項目有什麼不同。 –

+0

嗯,也許它的模擬器故障?不幸的是,我不欠WP7設備:/好吧,知道這段代碼沒問題 - 我會做更多的測試。 –