estoy ocupado escribiendo una aplicación que se ejecuta en WindowsDónde es el mejor lugar para guardar archivos temporales en Windows
¿Dónde está el lugar correcto para guardar archivos temporales?
estoy ocupado escribiendo una aplicación que se ejecuta en WindowsDónde es el mejor lugar para guardar archivos temporales en Windows
¿Dónde está el lugar correcto para guardar archivos temporales?
Si está utilizando .NET TEMP, por favor utilice Path.GetTempPath(). Esto garantizará que use el directorio temporal asignado al usuario que ejecuta su aplicación, independientemente de dónde esté almacenada.
Si navega con el sistema de archivos, se dará cuenta de que hay muchos directorios "temp":
... y muchos más. Algunas de estas rutas dependen del sistema operativo y no estarán presentes en ciertas características de Windows. Por lo tanto, ahórrese tiempo y problemas, y deje que el .NET Framework descubra dónde se encuentra la ruta "temporal".
Eso - o use un almacenamiento aislado, al cual el usuario siempre tiene garantizado el acceso de escritura. –
Mejor aún, simplemente use Path.GetTempFileName() que también generará el nombre del archivo y le devolverá la ruta completa (en la carpeta temp correspondiente). –
¿En el directorio temp?
Uso GetTempPath o en un archivo por lotes%%
Utilice la API GetTempPath, o el equivalente para su entorno de programación.
C: \ Temp no es una buena opción.
Si está utilizando código de uso .Net así:
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.
para conseguir un lugar para el almacenamiento a medio plazo de datos de aplicaciones, o Path.GetTempPath() para el almacenamiento transitorio de los datos.
¿Por qué no es una buena idea usar 'c: \ Temp'? No estoy en desacuerdo con su punto, solo tengo curiosidad sobre su razonamiento =) –
C: \ podría ser una partición realmente pequeña, y en muchos casos, los usuarios normales (que no son administradores) no tienen permisos de escritura en C: \ para que no puedan crear C: \ temp –
Además, ¿quién puede decir que C: \ temp existe incluso en Windows que no es inglés? –
Use GetTempPath y posiblemente GetTempFileName para determinar dónde colocar sus archivos temporales. Esta es la manera más confiable, compatible con el usuario final y el futuro para obtener una ubicación temporal para los archivos.
Depende del idioma que está utilizando:
string tempFolder = System.IO.Path.GetTempPath();
le devuelva la carpeta correspondiente en C#, por ejemplo.
o, las variables de entorno TEMP o TMP si es necesario.
C: \ Documents and Settings \ username \ Application Data \ IsolatedStorage
Sí, pero utilice la API de almacenamiento aislado documentada y no codifique esta ruta.En un sistema con una versión alemana de Windows, esto sería, p. "C: \ Dokumente \ ....." y si codifica esta ruta, su aplicación se romperá. FOLKS: ¡SI HAY ALGUNAS API PARA HACER ALGO, ** ÚSALAS **! –
¿El directorio temporal? –