НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
603 of 1310 menu

Функция copyRecursively

Функция copyRecursively выполняет рекурсивное копирование файлов и директорий из исходного пути в целевой путь. В первый параметр мы передаем целевой путь для копирования, во второй параметр мы можем передать флаг перезаписи существующих файлов, в третий параметр мы можем передать функцию-обработчик для обработки ошибок копирования. Функция возвращает true при успешном выполнении и false при ошибке.

Импорт

import java.io.File

Синтаксис

fun File.copyRecursively( target: File, overwrite: Boolean = false, onError: (File, IOException) -> OnErrorAction = { _, exception -> throw exception } ): Boolean

Пример

Скопируем директорию source_dir в директорию target_dir:

val sourceDir = File("source_dir") val targetDir = File("target_dir") val res: Boolean = sourceDir.copyRecursively(targetDir) println(res)

Результат выполнения кода:

Boolean true

Пример

Скопируем директорию с перезаписью существующих файлов:

val sourceDir = File("source_dir") val targetDir = File("target_dir") val res: Boolean = sourceDir.copyRecursively(targetDir, overwrite = true) println(res)

Результат выполнения кода:

Boolean true

Пример

Скопируем директорию с обработкой ошибок:

val sourceDir = File("source_dir") val targetDir = File("target_dir") val res: Boolean = sourceDir.copyRecursively(targetDir, onError = { file, exception -> println("Error copying file: ${file.name}, message: ${exception.message}") OnErrorAction.SKIP }) println(res)

Результат выполнения кода:

Error copying file: protected_file.txt, message: Access denied Boolean true

Пример

Скопируем отдельный файл:

val sourceFile = File("document.txt") val targetFile = File("backup/document.txt") val res: Boolean = sourceFile.copyRecursively(targetFile) println(res)

Результат выполнения кода:

Boolean true

Смотрите также

  • функцию copyTo,
    которая копирует одиночный файл
  • функцию deleteRecursively,
    которая рекурсивно удаляет файлы и директории
  • функцию listFiles,
    которая возвращает список файлов в директории
  • функцию walk,
    которая обходит файловое дерево
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить