2011-04-02 22 views
1

我想創建讀/寫文件到用戶的應用程序數據的子文件夾\漫遊文件夾:C#雙語目錄分隔符,用於非英文Windows

string fileloc = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "FolderName" + Path.AltDirectorySeparatorChar + "SomeFile.txt"); 

這是我的電腦上工作出色,但是當我在朋友的日本筆記本電腦(使用¥作爲目錄分隔符)上運行該程序時,他們只能讀取/寫入文件,並且如果需要創建該文件,該程序會崩潰。 (I也嘗試了非Alt鍵目錄分隔符。)

字符串fileloc印刷:

C:¥用戶¥用戶名¥APPDATA¥漫遊¥文件夾名稱/ SomeFile.txt

+0

感謝phoog和Naraen,所以我想只有沒有可靠的明確的分隔符呢?兩者都產生了理想的結果! :) 儘管fileloc現在產生了正確的位置,但在嘗試從頭開始創建文件時它仍然崩潰......所以我現在不知道這裏發生了什麼:( – lpd 2011-04-02 01:43:00

+0

可以在它出現時粘貼錯誤或異常另外,事件日誌中還有一個事件可以給你提供關於這個問題的更多信息。 – Naraen 2011-04-02 02:24:06

回答

1
如何

string fileloc = Path.Combine(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "FolderName"), "SomeFile.txt"); 

或者,也許更容易理解:

string directoryPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "FolderName"); 
string fileloc = Path.Combine(directoryPath, "SomeFile.txt"); 
1

string fileloc = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),Path.Combine(「FolderName」,+「SomeFile.txt」));

應該做你所期待的。那對你有用嗎?