kotlin-stdlib / kotlin.io / java.io.File / copyRecursivelyRequisitos de plataforma y versión: JVM (1.0)

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

Copia este archivo con todos sus elementos secundarios en la ruta de destino de destino especificada. Si faltan algunos directorios en el camino hacia el destino, se crearán.

Si esta ruta de archivo apunta a un solo archivo, se copiará en un archivo con la ruta de destino. Si esta ruta de archivo apunta a un directorio, sus elementos secundarios se copiarán en un directorio con la ruta de destino.

Si el destino ya existe, se eliminará antes de copiar cuando el parámetro de sobrescritura lo permita.

La operación no conserva el archivo copiado. attributes tales como fecha de creación/modificación, permisos, etc.

Si se produce algún error durante la copia, las acciones adicionales dependerán del resultado de la llamada a onError(File, IOException) función, que será llamada con argumentos, especificando el archivo que causó el error y la excepción en sí. De forma predeterminada, esta función vuelve a generar excepciones.

Excepciones que se pueden pasar al onError función:

  • NoSuchFileException: si hubo un intento de copiar un archivo inexistente
  • FileAlreadyExistsException – si hay un conflicto
  • AccessDeniedException: si hubo un intento de abrir un directorio que no tuvo éxito.
  • IOException – si se producen algunos problemas al copiar.

Tenga en cuenta que si esta función falla, es posible que se haya realizado una copia parcial.

Parámetros

overwritetrue si está permitido sobrescribir archivos y directorios de destino existentes.

Devolverfalse si se terminó la copia, true de lo contrario.