copy Recursively
Начиная с Kotlin: 1.0
fun File.copyRecursively(target: File, overwrite: Boolean = false, onError: (File, IOException) -> OnErrorAction = { _, exception -> throw exception }): Boolean
Копирует этот файл вместе со всеми его дочерними элементами по указанному пути назначения target. Если какие-либо каталоги на пути к месту назначения отсутствуют, они будут созданы.
Если этот путь указывает на отдельный файл, он будет скопирован в файл по пути target. Если этот путь указывает на каталог, его дочерние элементы будут скопированы в каталог по пути target.
Если target уже существует, он будет удален перед копированием, если это разрешено параметром overwrite.
При выполнении операции атрибуты скопированных файлов, такие как дата создания/изменения, разрешения и т. д., не сохраняются.
При возникновении ошибок во время копирования дальнейшие действия будут зависеть от результата вызова функции onError(File, IOException), которая будет вызвана с аргументами, указывающими файл, вызвавший ошибку, и само исключение. По умолчанию эта функция повторно выбрасывает исключения.
Исключения, которые могут быть переданы функции onError:
NoSuchFileException — если была предпринята попытка скопировать несуществующий файл
FileAlreadyExistsException — если возник конфликт
AccessDeniedException — если не удалось открыть каталог.
IOException — если при копировании возникли проблемы.
Обратите внимание, что если эта функция завершится с ошибкой, копирование может быть выполнено частично.
Возвращает
false, если копирование было прервано, в противном случае — true.
Параметры
true, если разрешено перезаписывать существующие файлы и каталоги назначения.
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.io/copy-recursively.html