Функция resolve

Функция resolve класса File используется для объединения текущего пути с указанным путем-аргументом. Если аргумент является абсолютным путем, то функция возвращает его. Если аргумент является относительным путем, то он присоединяется к текущему пути.

Импорт

kotlinimport java.io.File

Синтаксис

kotlinfun resolve(child: String): File
kotlinfun resolve(child: File): File

Пример

Объединим абсолютный путь с относительным:

kotlinval baseDir = File("/home/user")
val res = baseDir.resolve("documents/file.txt")
println(res.absolutePath)

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

kotlinString "/home/user/documents/file.txt"

Пример

Если передать абсолютный путь, функция вернет его без изменений:

kotlinval baseDir = File("/home/user")
val res = baseDir.resolve("/tmp/data")
println(res.absolutePath)

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

kotlinString "/tmp/data"

Пример

Использование объекта File в качестве аргумента:

kotlinval baseDir = File("/var/www")
val childFile = File("site/index.html")
val res = baseDir.resolve(childFile)
println(res.absolutePath)

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

kotlinString "/var/www/site/index.html"

Пример

Разрешение пути с использованием специальных символов:

kotlinval baseDir = File("/home/user")
val res = baseDir.resolve("../otheruser/data")
println(res.absolutePath)

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

kotlinString "/home/user/../otheruser/data"

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

  • функцию resolveSibling,
    которая заменяет последний компонент пути
  • функцию normalize,
    которая удаляет из пути избыточные элементы
  • функцию relativeTo,
    которая вычисляет относительный путь между двумя путями
  • функцию toRelativeString,
    которая преобразует путь в относительную строку