2011-11-18 81 views
0

我正在嘗試使用IsolatedStorageFile將數據寫入文件。該文件被稱爲「註釋」。筆記文件根本沒有打開!寫入IsolatedStorageFile的問題

在調試時,我發現控件轉到else條件。它創建「Notes.txt」文件,但不會進一步進入循環。它執行使用語句,然後從循環中出來,因此寫作不會發生。

public void WriteNotesToFile() 
    { 
     try 
     { 
      using (IsolatedStorageFile storagefile = IsolatedStorageFile.GetUserStoreForApplication()) 
      { 
       if (storagefile.FileExists("Notes")) 
       { 
        using (IsolatedStorageFileStream fileStream = storagefile.OpenFile("Notes", FileMode.Open, FileAccess.ReadWrite)) 
        { 
         StreamWriter writer = new StreamWriter(fileStream); 

         for (int i = 0; i < m_dtNoteDate.Length; i++) 
         { 
          writer.Write(m_dtNoteDate[i].ToString("dd-MM-yyy"); 
          writer.Write(" "); 
          writer.WriteLine(m_strNotes[i]); 
         } 
         writer.Close(); 
        } 
       } 
       else 
       { 
        storagefile.CreateFile("Notes.txt"); 
        using (IsolatedStorageFileStream fileStream = storagefile.OpenFile("Notes", FileMode.Open, FileAccess.ReadWrite)) 
        { 
         StreamWriter writer = new StreamWriter(fileStream); 

         for (int i = 0; i < m_dtNoteDate.Length; i++) 
         { 
          writer.Write(m_dtNoteDate[i]); 
          writer.Write(""); 
          writer.WriteLine(m_strNotes[i]); 
         } 
         writer.Close(); 
        } 
       } 
      } 
     }catch { } 
    }  

有人能幫我解決嗎?

回答

3

您創建Notes.txt但檢查Notes。請檢查Notes.txt。

+0

還是讓我檢查,我發現了另一個錯誤,在else塊i已經使用(IsolatedStorageFileStream FILESTREAM = storagefile.OpenFile(「註釋」使用,FileMode.Open,FileAccess.ReadWrite))而不是使用(IsolatedStorageFileStream fileStream = storagefile.OpenFile(「Notes」,FileMode.Create,FileAccess.ReadWrite)) – alfah

+0

@alfah - 如果此問題已解決,則應標記答案。如果xyzzer的問題幫助您解決問題,請將其標記爲答案。如果不是,請自己添加一個答案,說明解決問題的方式並將其標記爲答案。或者,您可以刪除您的問題。 –

+0

@richard解決方案是我的意見。但是註釋不能被標記爲答案:D – alfah

0
using (IsolatedStorageFileStream fileStream = storagefile.OpenFile("Notes", FileMode.Create, FileAccess.ReadWrite)) 

曾在其他塊中使用和不FileMode.Open