Файлы во временной папке автоматически удалены?

Если я создаю некоторый файл с помощью Пути. GetTempPath () - это автоматически становится удаленным на некотором этапе или мое дело это для удаления его?

17
задан Yaron Naveh 14 February 2010 в 18:12
поделиться

3 ответа

Нет, вам нужно будет вручную удалить файл. Path.GetTempPath () просто дает вам путь к папке temp.

13
ответ дан 30 November 2019 в 11:32
поделиться

Обычно, если ваше приложение не удаляет файл, он все еще будет там, пока ваше приложение не удалит его, и вы должны управлять файлами, создаваемыми вашим приложением, на основе этой идеи.

Тем не менее, как только файл закрыт, вы всегда должны учитывать тот факт, что его может не быть там в следующий раз, когда вы захотите его, и что вам может потребоваться воссоздать его. Например, в Windows есть «инструмент очистки диска», который можно запускать при нехватке места, по указанию пользователя или по расписанию ...

2
ответ дан 30 November 2019 в 11:32
поделиться

FileOptions.DeleteOnClose приведет к автоматическому удалению файла при закрытии . Это также работает, если программа завершается из-за исключения.

Например, как упоминалось в , этот ответ :

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
24
ответ дан 30 November 2019 в 11:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: