Scrittura di un file su una cartella temporanea

Voglio usare StreamWriter per scrivere un file nella cartella temporanea.

Potrebbe essere un percorso diverso su ciascun PC, quindi ho provato a utilizzare %temp%\SaveFile.txt ma non ha funzionato.

Come posso salvare nella cartella temporanea, usando le variabili ambientali?

Ad esempio, posso utilizzare una variabile ambientale per archiviare i file in %appdata% ?

La class Path è molto utile qui.
Hai due metodi chiamati

Path.GetTempFileName

Path.GetTempPath

questo potrebbe risolvere il tuo problema

Ad esempio, potresti scrivere: (se non ti interessa il nome esatto del file)

 using(StreamWriter sw = new StreamWriter(Path.GetTempFileName())) { sw.WriteLine("Your error message"); } 

O se è necessario impostare il nome del file

 string myTempFile = Path.Combine(Path.GetTempPath(), "SaveFile.txt"); using(StreamWriter sw = new StreamWriter(myTempFile)) { sw.WriteLine("Your error message"); } 

È ansible recuperare in modo dinamico un percorso temporaneo utilizzando come segue e meglio usarlo invece di utilizzare il valore stringa codificato rigido per la posizione temp. Restituirà la cartella temporanea o il file temporaneo come si desidera.

 string filePath = Path.Combine(Path.GetTempPath(),"SaveFile.txt"); 

o

 Path.GetTempFileName(); 

System.IO.Path.GetTempPath ()

Il percorso specificato dalla variabile di ambiente TMP. Il percorso specificato dalla variabile di ambiente TEMP. Il percorso specificato dalla variabile di ambiente USERPROFILE. La directory di Windows.

Per% appdata% dai un’occhiata a

 Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)