Spec-Zone.ru › Kotlin 1.8

deleteRecursively

kotlin-stdlib / kotlin.io.path / java.nio.file.Path / deleteRecursively
Требования к платформе и версии: JVM (1.8), JRE7 (1.8)
@ExperimentalPathApi fun Path.deleteRecursively()

Рекурсивно удаляет эту директорию и её содержимое. Обратите внимание, что если эта функция сгенерирует исключение, то частичное удаление может произойти.

Если элемент, расположенный по этому пути, является директорией, эта функция рекурсивно удаляет её содержимое и саму директорию. В противном случае эта функция удаляет только этот элемент. Символические ссылки не следуют к своим целям. Эта функция ничего не делает, если элемент, расположенный по указанному пути, не существует.

Если платформа поддерживает SecureDirectoryStream, обход дерева файлов и удаление элементов выполняется с её помощью. В противном случае директории в дереве файлов открываются с менее безопасным методом Files.newDirectoryStream. Обратите внимание, что на платформе, поддерживающей символические ссылки и не поддерживающей SecureDirectoryStream, возможно, при рекурсивном удалении будут удалены файлы и директории, которые находятся за пределами удаляемой директории. Это может произойти, если после проверки того, что элемент является директорией (а не символической ссылкой), эта директория заменяется символической ссылкой на внешнюю директорию до вызова, который открывает директорию для чтения её элементов.

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

Исключения

IOException - если любой элемент в дереве файлов не может быть удален по какой-либо причине.

© 2010–2023 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.io.path/java.nio.file.-path/delete-recursively.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API