Sono impegnato a scrivere un'applicazione che funziona sotto WindowsDove è il posto migliore per salvare i file temporanei in Windows
Dove è il posto giusto per salvare i file temporanei?
Sono impegnato a scrivere un'applicazione che funziona sotto WindowsDove è il posto migliore per salvare i file temporanei in Windows
Dove è il posto giusto per salvare i file temporanei?
Se si utilizza .NET, si prega di utilizzare Path.GetTempPath(). Ciò garantirà l'utilizzo della directory temporanea assegnata all'utente che esegue l'applicazione, indipendentemente da dove è memorizzata.
Se si sfoglia il file system, si noterà che ci sono molti "temporanei" directory:
... e molti altri. Alcuni di questi percorsi sono dipendenti dal sistema operativo e non saranno presenti su determinati sapori di Windows. Quindi, risparmiate tempo e problemi, e lasciate che la struttura .NET scopra dove si trova il percorso "temp".
Quello - o utilizzare la memoria isolata, a cui un utente è sempre garantito avere accesso in scrittura! –
Meglio ancora, basta usare Path.GetTempFileName() che genererà anche il nome del file e restituire il percorso completo ad esso (nella cartella temporanea appropriata). –
Nella directory temp?
Usa GetTempPath o in un file batch% TEMP%
Utilizzare l'API GetTempPath o equivalente per l'ambiente di programmazione.
C: \ Temp NON è una buona scelta.
Se si utilizza Net utilizzare il codice in questo modo:
string baseFolder = System.Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
string cfgFolder = Path.Combine(baseFolder, "MyAppName");
try
{
if (!Directory.Exists(cfgFolder))
{
Directory.CreateDirectory(cfgFolder);
}
}
catch { } // If no access, not much we can do.
per ottenere un posto per la conservazione a medio termine dei dati delle applicazioni, o Path.GetTempPath() per la memorizzazione transitoria dei dati.
Perché non è una buona idea usare 'c: \ Temp'? Non sono in disaccordo con il tuo punto, sono solo curioso sul tuo ragionamento =) –
C: \ potrebbe essere una partizione veramente piccola, e in molti casi, gli utenti normali (non amministratori) non hanno permessi di scrittura su C: \ quindi non possono creare C: \ temp –
Inoltre, chi può dire che C: \ temp esiste anche su Windows non inglese? –
Utilizzare GetTempPath e possibilmente GetTempFileName per determinare dove inserire i file temporanei. Questo è il modo più affidabile, amichevole per gli utenti finali e futuro per ottenere una posizione temporanea per i file.
Essa dipende dalla lingua che si sta utilizzando:
string tempFolder = System.IO.Path.GetTempPath();
lo restituisca la cartella appropriata in C# per esempio.
oppure, le variabili di ambiente TEMP o TMP se è necessario.
C: \ Documents and Settings \ nome utente \ Dati applicazioni \ IsolatedStorage
Sì, ma si prega di utilizzare l'API di archiviazione isolata documentata e di non eseguire l'hardcoding di questo percorso!Su un sistema con una versione tedesca di Windows, questo sarebbe ad es. "C: \ Dokumente \ ....." e se indichi questo percorso, la tua app si interromperà. FOLLA: SE CI SONO API PER FARE QUALCOSA, ** USARLI ** !! –
La directory temp? –