Kotlin

Path Operations with java.nio.file

admin by @admin ADMIN
11m ago
Jun 1, 2026
Public
0 0 up · 0 down Sign in to vote
Modern Kotlin code uses `java.nio.file.Path` over the legacy `File`. Operator overloads + Kotlin extensions make it ergonomic.
Kotlin
Raw
import java.nio.file.*
import kotlin.io.path.*       // Kotlin 1.5+ — extension functions on Path

fun main() {
    // Build paths (operator overload for / joins them)
    val base: Path = Path.of("/var/www/myapp")
    val config: Path = base / "config" / "app.toml"

    println(config)                           // /var/www/myapp/config/app.toml
    println(config.fileName)                  // app.toml
    println(config.parent)                    // /var/www/myapp/config
    println(config.exists())
    println(config.isRegularFile())

    // Resolve / relativize / normalize
    val rel = base.relativize(config)
    println(rel)                              // config/app.toml

    val resolved = base.resolve("config/app.toml")
    println(resolved == config)               // true

    // Read / write with kotlin.io.path
    config.parent.createDirectories()
    config.writeText("port=8080\n")
    println(config.readText())
}
Tags

Save your own code snippets

Create a free account and build your private vault. Share publicly whenever you want.