2009-04-15 60 views

回答

43

使用

Path.GetTempPath(); 

Path.GetTempFileName(); 

正如評論員指出,GetTempFileName()不是線程安全的 - 但你可以構建基於GUID的唯一的文件名。

+4

注意GetTenpFileName可能由於固有的競爭條件需要多次調用(其他的可能會在GetTempFileName的返回和打開文件之間創建相同的文件)。 – Richard 2009-04-15 16:21:18

7

使用來自System.IO.Path Windows API函數GetTempPath()(見MSDN

using System.IO 

... 

myTempPath = Path.GetTempPath(); 

你應該知道,文件系統可能會在程序執行過程中得到改變。 Temp路徑可能會更改(不太可能,已授予),或者您的臨時文件可能已被用戶移動或刪除。

準備在每次訪問它時檢查它的存在,並在沒有優雅地找到時處理它。

11

其他人打我給它關於

System.IO.Path.GetTempPath() 

但你也可以考慮應用程序數據文件夾中。這將允許您更好地控制文件,就像所有用戶共享1個或每個用戶1個共享的能力。

Application.CommonAppDataPath 
Application.UserAppDataPath 
0

如果你需要你的應用程序寫入到一個臨時位置,並在部分信任的工作,你需要尋找到IsolatedStorage

0

如果你想建立自己的自定義臨時文件名中引用到一個臨時位置,我用這樣的事情,脫光PATH和運用我自己的名......

string wsPDFfile = Path.GetTempPath() + wsStudentID + "_" + Path.GetFileNameWithoutExtension(Path.GetTempFileName()) + ".pdf";