我想用StreamWriter
將文件寫入臨時文件夾。將文件寫入臨時文件夾
它可能是在每臺PC上不同的路徑,所以我嘗試使用%temp%\SaveFile.txt
,但它沒有奏效。
如何使用環境變量保存到臨時文件夾?
例如,我可以使用環境變量來存儲%appdata%
中的文件嗎?
我想用StreamWriter
將文件寫入臨時文件夾。將文件寫入臨時文件夾
它可能是在每臺PC上不同的路徑,所以我嘗試使用%temp%\SaveFile.txt
,但它沒有奏效。
如何使用環境變量保存到臨時文件夾?
例如,我可以使用環境變量來存儲%appdata%
中的文件嗎?
string result = Path.GetTempPath();
http://msdn.microsoft.com/en-us/library/system.io.path.gettemppath(v=vs.110).aspx
System.IO.Path.GetTempPath()
TMP環境變量指定的路徑。 由TEMP環境變量指定的路徑。 USERPROFILE環境變量指定的路徑。 Windows目錄。
Path類是非常有用的在這裏。
你得到兩種方法稱爲
,可以解決你的問題
因此,例如,你可以寫:(如果你不介意的確切文件名)
using(StreamWriter sw = new StreamWriter(Path.GetTempFileName()))
{
sw.WriteLine("Your error message");
}
或者,如果你需要設置文件名
string myTempFile = Path.Combine(Path.GetTempPath(), "SaveFile.txt");
using(StreamWriter sw = new StreamWriter(myTempFile))
{
sw.WriteLine("Your error message");
}
可以使用如下,更好地用它代替使用臨時location.It硬編碼字符串值,只要你想將返回的臨時文件夾或臨時文件的動態檢索一個臨時路徑。
string filePath = Path.Combine(Path.GetTempPath(),"SaveFile.txt");
或
Path.GetTempFileName();
爲%APPDATA%看一看到
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
我可以將它保存爲字符串變量,因此我不必每次都重寫它? – BlueRay101
當然你可以:) – 2013-11-21 21:41:18
是否需要任何特殊權限的RW ..或標準用戶也可以寫在該目錄上? – asvignesh
OK,非常感謝你。我在哪裏可以找到更多的環境變量,例如主硬盤,用戶設置和應用程序數據? – BlueRay101
System.Environment類將幫助您獲取環境變量等。另外一定要查看System.Environment.SpecialFolder枚舉。 http://msdn.microsoft.com/en-us/library/system.environment%28v=vs.110%29.aspx – trope
因此對於臨時文件夾,我總是必須使用Path.GetTempPath();,並且對於任何其他特殊路徑(如AppData或ProgramFiles),我必須使用System.Environment? – BlueRay101