2015-05-22 4 views
0

я пишу временные файлы во временную папку, например:Временная папка очищается автоматически?

string path = Path.GetTempPath() + "\\" + Path.GetFileName(originalFilePath); 
File.WriteAllBytes(path, data); 

Я пишу большие файлы изображений. Итак, у меня вопрос: временная папка со временем очищается? Или мне нужно, чтобы при выходе приложения удаляли все временные файлы?

PS: Извините за мой английский.

+1

Вы должны очистить свой беспорядок, Windows не сделает это за вас. –

ответ

3

Рекомендуется удалять временные файлы при выходе из приложения. Создайте класс, управляющий временными ресурсами, и используйте деструктор для удаления временного файла (ов).

public class TemporaryFile 
{ 
    private string _fileName = String.Empty; 

    <other stuffs...> 

    ~TemporaryFile() 
    { 
     try 
     { 
      File.Delete(_fileName); 
     } 
     catch 
     { 
     } 
    } 
} 
+0

Это очень элегантное решение. Возможно, бросьте «IDisposable» там для хорошей меры. –

+0

Нет причин использовать деструктор/финализатор здесь. Используйте финализатор только при непосредственном обращении с неуправляемыми ресурсами. –

+0

Хорошо, вы можете изменить класс для использования IDisposable, просто сохраните основную идею. – ElmoDev001

Смежные вопросы