2010-02-14 23 views

Respuesta

13

No, deberá eliminar manualmente el archivo. Path.GetTempPath() simplemente le proporciona la ruta de la carpeta a la carpeta temporal.

2

Básicamente, si su aplicación no elimina un archivo, seguirá allí hasta que la aplicación lo elimine y usted debe administrar los archivos que crea su aplicación en función de esa idea.

Dicho esto, una vez que el archivo está cerrado, siempre debe tener en cuenta que puede que no esté allí la próxima vez que lo desee y que deba volver a crearlo. Por ejemplo, Windows tiene una "herramienta de limpieza de disco" que puede ejecutarse cuando el espacio es bajo, cuando un usuario lo dirige o según un programa ...

23

FileOptions.DeleteOnClose hará que el archivo se elimine automáticamente cuando se cierre. Esto también funciona si el programa finaliza con una excepción.

Por ejemplo, como se menciona en this answer:

using (FileStream fs = new FileStream(Path.GetTempPath() + "foo.bar", 
     FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None, 
     4096, FileOptions.RandomAccess | FileOptions.DeleteOnClose)) 
{ 
    // temp file exists 
} 

// temp file is gone 
Cuestiones relacionadas