2012-12-30 102 views
2

好吧我花了大量的時間試圖解決我讀過的帖子說的是一個簡單的修復。字符串文件路徑無法正常工作c#

我想寫入我的文檔中的文件,這裏是我的代碼。

 string st = @"C:\Users\<NAME>\Documents\Sample1.txt"; 

     System.IO.StreamWriter file = new System.IO.StreamWriter(st); 
     file.WriteLine(Convert.ToString(Sample1[0])); 
     file.Close(); 

用戶名在哪裏。我收到以下錯誤

mscorlib.ni.dll中出現第一次機會異常'System.IO.DirectoryNotFoundException'。在mscorlib.ni中發生類型'System.IO.DirectoryNotFoundException'異常。 DLL,但沒有在用戶代碼中處理「

我正在使用Visual Studio Express進行Windows Phone開發。

如果有人能指出我做錯了什麼,我將不勝感激。

謝謝。

+0

什麼是堆棧跟蹤? – SLaks

+2

'DirectoryNotFoundException' ...手機上是否有目錄? – SLaks

+0

調試您的代碼,找出您的路徑字符串中找不到哪個目錄或文件。 –

回答

2

我假設你使用的字符串,因爲你已經發布它。如果是這種情況,你應該使用SpecialFolder Enum來代替。

var st = string.format(@"{0}\Sample1.txt", 
      Environment.GetFolderPath(Environment.SpecialFolder.Personal)); 
1

你應該趁Environment.SpecialFolder枚舉,並使用Path.Combine(...)創建路徑:

var path = Path.Combine(
    Environment.GetFolderPath(Environment.SpecialFolder.Personal), 
    "Sample1.txt"); 

using (var sw = new StreamWriter(path)) 
{ 
    sw.WriteLine(Convert.ToString(Sample1[0])); 
} 

而且,StreamWriter應放在using語句中,因爲它是一次性的。

相關問題