Подтвердить что ты не робот

Удалены ли файлы во временной папке?

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

4b9b3361

Ответ 1

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

Ответ 2

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

Ответ 3

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

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