Функция deleteOnExit
Функция deleteOnExit класса File планирует удаление файла
или директории при нормальном завершении работы виртуальной машины Java (JVM).
Удаление происходит только при успешном завершении работы программы.
Метод не возвращает значения и может использоваться для временных файлов,
которые должны быть очищены после выполнения программы.
Импорт
import java.io.File
Синтаксис
fun deleteOnExit(): Unit
Пример
Создадим временный файл и запланируем его удаление при завершении программы:
val tempFile = File("temp_data.txt")
tempFile.createNewFile()
tempFile.deleteOnExit()
println("File created and scheduled for deletion")
Результат выполнения кода:
File created and scheduled for deletion
Пример
Создадим временную директорию и запланируем ее удаление:
val tempDir = File("temp_folder")
tempDir.mkdir()
tempDir.deleteOnExit()
println("Directory created and scheduled for deletion")
Результат выполнения кода:
Directory created and scheduled for deletion
Пример
Попытка запланировать удаление несуществующего файла:
val nonExistentFile = File("non_existent.txt")
nonExistentFile.deleteOnExit()
println("Deletion scheduled for non-existent file")
Результат выполнения кода:
Deletion scheduled for non-existent file
Пример
Создание нескольких временных файлов и их удаление при выходе:
for (i in 1..3) {
val file = File("temp_file_$i.txt")
file.createNewFile()
file.deleteOnExit()
println("Created and scheduled: ${file.name}")
}
Результат выполнения кода:
Created and scheduled: temp_file_1.txt
Created and scheduled: temp_file_2.txt
Created and scheduled: temp_file_3.txt
Примечания
Функция deleteOnExit не гарантирует удаление файла при аварийном
завершении работы JVM или при выключении компьютера.
Запланированные для удаления файлы нельзя отменить - они будут удалены при следующем нормальном завершении работы JVM.
Для более надежного управления временными файлами рекомендуется использовать
функцию createTempFile с автоматическим удалением.