Функция resolveSibling

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

Импорт

kotlinimport java.io.File

Синтаксис

kotlinfun resolveSibling(child: String): File
kotlinfun resolveSibling(child: Path): File

Пример

Создадим файл с путем "/home/user/document.txt" и получим соседний файл с именем "image.jpg" в том же каталоге:

kotlinval file = File("/home/user/document.txt")
val sibling = file.resolveSibling("image.jpg")
println(sibling.absolutePath)

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

kotlinString "/home/user/image.jpg"

Пример

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

kotlinval file = File("/var/log/app.log")
val sibling = file.resolveSibling("backups/archive.log")
println(sibling.absolutePath)

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

kotlinString "/var/backups/archive.log"

Пример

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

kotlinval file = File("data.txt")
val sibling = file.resolveSibling("/tmp/tempfile.tmp")
println(sibling.absolutePath)

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

kotlinString "/tmp/tempfile.tmp"

Пример

Работа с относительными путями и переход на уровень выше:

kotlinval file = File("project/src/main.kt")
val sibling = file.resolveSibling("../README.md")
println(sibling.absolutePath)

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

kotlinString "/current/directory/project/../README.md"

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

  • класс File,
    основной класс для работы с файлами и каталогами
  • функцию resolve,
    которая разрешает путь относительно текущего файла
  • функцию normalize,
    которая нормализует путь, удаляя избыточные элементы
  • свойство parent,
    которое возвращает родительский каталог файла