Функция resolveSibling
Функция resolveSibling класса File создает новый объект File,
путь которого формируется путем замены имени файла или последнего компонента пути
текущего файла на указанный путь. Если текущий файл не имеет родительского каталога,
функция пытается разрешить указанный путь как абсолютный.
Импорт
import java.io.File
Синтаксис
fun resolveSibling(child: String): File
fun resolveSibling(child: Path): File
Пример
Создадим файл с путем "/home/user/document.txt" и получим
соседний файл с именем "image.jpg" в том же каталоге:
val file = File("/home/user/document.txt")
val sibling = file.resolveSibling("image.jpg")
println(sibling.absolutePath)
Результат выполнения кода:
String "/home/user/image.jpg"
Пример
Получим соседний файл в подкаталоге относительно текущего файла:
val file = File("/var/log/app.log")
val sibling = file.resolveSibling("backups/archive.log")
println(sibling.absolutePath)
Результат выполнения кода:
String "/var/backups/archive.log"
Пример
Использование абсолютного пути в качестве параметра:
val file = File("data.txt")
val sibling = file.resolveSibling("/tmp/tempfile.tmp")
println(sibling.absolutePath)
Результат выполнения кода:
String "/tmp/tempfile.tmp"
Пример
Работа с относительными путями и переход на уровень выше:
val file = File("project/src/main.kt")
val sibling = file.resolveSibling("../README.md")
println(sibling.absolutePath)
Результат выполнения кода:
String "/current/directory/project/../README.md"