Функция copyTo

Функция copyTo класса File выполняет копирование файла в указанное местоположение. Позволяет контролировать перезапись существующего файла, размер буфера копирования и обработку ошибок. Возвращает файл назначения.

Импорт

kotlinimport java.io.File

Синтаксис

kotlinfun File.copyTo(
  target: File,
  overwrite: Boolean = false,
  bufferSize: Int = DEFAULT_BUFFER_SIZE
): File

Пример

Скопируем файл source.txt в файл destination.txt:

kotlinval sourceFile = File("source.txt")
val targetFile = File("destination.txt")

sourceFile.copyTo(targetFile)

Пример

Скопируем файл с перезаписью существующего файла назначения:

kotlinval sourceFile = File("data.txt")
val targetFile = File("backup/data.txt")

sourceFile.copyTo(targetFile, overwrite = true)

Пример

Скопируем файл с указанием размера буфера:

kotlinval sourceFile = File("largefile.dat")
val targetFile = File("copy_largefile.dat")

sourceFile.copyTo(targetFile, bufferSize = 8192)

Пример

Обработаем возможные исключения при копировании:

kotlinval sourceFile = File("important.txt")
val targetFile = File("backup/important.txt")

try {
  sourceFile.copyTo(targetFile, overwrite = true)
  println("File copied successfully")
} catch (e: FileNotFoundException) {
  println("Source file not found: ${e.message}")
} catch (e: IOException) {
  println("Error copying file: ${e.message}")
}

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

kotlinFile copied successfully

Пример

Проверим существование исходного файла перед копированием:

kotlinval sourceFile = File("document.pdf")
val targetFile = File("archives/document.pdf")

if (sourceFile.exists()) {
  sourceFile.copyTo(targetFile)
  println("Copy completed")
} else {
  println("Source file does not exist")
}

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

kotlinCopy completed

Параметры

target - файл назначения, в который будет произведено копирование.

overwrite - флаг перезаписи существующего файла (по умолчанию false).

bufferSize - размер буфера для копирования в байтах (по умолчанию 8192).

Возвращаемое значение

Функция возвращает файл назначения типа File.

Исключения

FileNotFoundException - если исходный файл не существует.

FileAlreadyExistsException - если файл назначения уже существует и overwrite установлен в false.

IOException - при ошибках ввода-вывода во время копирования.

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

  • функцию copyRecursively,
    которая выполняет рекурсивное копирование директорий
  • функцию delete,
    которая удаляет файл или директорию
  • функцию renameTo,
    которая переименовывает или перемещает файл
  • функцию exists,
    которая проверяет существование файла или директории