Функция copyTo
Функция copyTo класса File выполняет копирование файла
в указанное местоположение. Позволяет контролировать перезапись
существующего файла, размер буфера копирования и обработку ошибок.
Возвращает файл назначения.
Импорт
import java.io.File
Синтаксис
fun File.copyTo(
target: File,
overwrite: Boolean = false,
bufferSize: Int = DEFAULT_BUFFER_SIZE
): File
Пример
Скопируем файл source.txt в файл destination.txt:
val sourceFile = File("source.txt")
val targetFile = File("destination.txt")
sourceFile.copyTo(targetFile)
Пример
Скопируем файл с перезаписью существующего файла назначения:
val sourceFile = File("data.txt")
val targetFile = File("backup/data.txt")
sourceFile.copyTo(targetFile, overwrite = true)
Пример
Скопируем файл с указанием размера буфера:
val sourceFile = File("largefile.dat")
val targetFile = File("copy_largefile.dat")
sourceFile.copyTo(targetFile, bufferSize = 8192)
Пример
Обработаем возможные исключения при копировании:
val 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}")
}
Результат выполнения кода:
File copied successfully
Пример
Проверим существование исходного файла перед копированием:
val 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")
}
Результат выполнения кода:
Copy completed
Параметры
target - файл назначения, в который будет произведено копирование.
overwrite - флаг перезаписи существующего файла (по умолчанию false).
bufferSize - размер буфера для копирования в байтах (по умолчанию 8192).
Возвращаемое значение
Функция возвращает файл назначения типа File.
Исключения
FileNotFoundException - если исходный файл не существует.
FileAlreadyExistsException - если файл назначения уже существует и overwrite установлен в false.
IOException - при ошибках ввода-вывода во время копирования.
Смотрите также
-
функцию
copyRecursively,
которая выполняет рекурсивное копирование директорий -
функцию
delete,
которая удаляет файл или директорию -
функцию
renameTo,
которая переименовывает или перемещает файл -
функцию
exists,
которая проверяет существование файла или директории