2012-03-11 98 views
8

我目前在我的WPF應用程序中具有以下代碼,它完全符合我的要求,但是,在發佈此代碼時,它不一定能夠訪問這些文件夾位置他們不會指向正確的目錄,也不會存在這些文件夾。在WPF應用程序中本地存儲數據文件的文件夾

我希望有人可以告訴我什麼是將某些東西保存到本地文件夾的最佳方式?

無論是否在應用程序文件夾本身內部也沒有問題。

我目前使用的文件的寫代碼:

using (Stream stream = File.Open(@"..\..\Templates\data.bin", FileMode.Create)) 
      { 
       BinaryFormatter bin = new BinaryFormatter(); 
       bin.Serialize(stream, templateList); 
      } 

我目前使用的文件的加載代碼:

using (Stream stream = File.Open(@"..\..\Templates\data.bin", FileMode.Open)) 
     { 
      BinaryFormatter bin = new BinaryFormatter(); 

      templateList = (List<Template>)bin.Deserialize(stream); 
     } 
+0

不知道我的問題吧,也許[獨立存儲(http://msdn.microsoft.com /en-us/library/3ak841sy(v=vs.100).aspx)是你在找什麼? – sll 2012-03-11 21:50:11

回答

14

可以使用環境.SpecialFolder找到放置文件的適當位置(例如,ApplicationData將是一個開始的好地方)。如果你只需要一個臨時文件,你可以使用Path.GetTempFileName來創建一個。

編輯:最後一個音符。將東西存儲在應用程序文件夾本身可能是一個巨大的痛苦。通常應用程序文件夾是在安裝過程中使用管理員帳戶創建的,因此您的應用程序在用戶帳戶上運行時將無法寫入。

+0

非常感謝馬特。我已經使用了Environment.SpecialFolder,並且只是簡單地檢查目錄是否存在,如果不存在,它會創建新的文件夾。全做完了! – Beerlol 2012-03-11 23:10:28

相關問題