2010-02-14 11 views

Odpowiedz

13

Nie, trzeba ręcznie usunąć plik. Path.GetTempPath() po prostu podaje ścieżkę folderu do folderu tymczasowego.

2

Zasadniczo, jeśli aplikacja nie usunie pliku, nadal będzie istniała, dopóki aplikacja go nie usunie i należy zarządzać plikami, które aplikacja tworzy na podstawie tego pomysłu.

To powiedziawszy, po zamknięciu pliku należy zawsze pamiętać, że może nie być tam następnym razem, kiedy tego chce, i że może być konieczne odtworzenie go. Na przykład system Windows ma "narzędzie do czyszczenia dysku", które może być uruchamiane, gdy mało miejsca, gdy zostanie skierowane przez użytkownika lub zgodnie z harmonogramem ...

23

FileOptions.DeleteOnClose spowoduje, że plik zostanie usunięty automatycznie po zamknięciu. Działa to również, jeśli program zostanie zakończony przez wyjątek.

Na przykład, jak wspomniano w 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 
Powiązane problemy