Package names usually mirror directories so source files are easy to locate.

package layout A package such as `com.example.app` commonly lives under `com/example/app`.

Package Path Match

packageName
PackagePathMatch.kt
Replay: real traced execution (multi-file project)
fun main() {
    val packageName = "com.example.app"
    val directory = packageName.split(".").joinToString("/")
    val fileName = "Main.kt"
    val fullPath = "$directory/$fileName"

    println("package=$packageName")
    println("directory=$directory")
    println("file=$fullPath")
}
fun main() {
    val packageName = "org.demo.tool"
    val directory = packageName.split(".").joinToString("/")
    val fileName = "Main.kt"
    val fullPath = "$directory/$fileName"

    println("package=$packageName")
    println("directory=$directory")
    println("file=$fullPath")
}
  1. packageName ← com.example.app, directory ← com/example/app, fileName ← Main.kt

    1fun main() {2    val packageName→ com.example.app = "com.example.app" //@packageName="org.demo.tool"3    val directory→ com/example/app = packageNamecom.example.app.split(".").joinToString("/")4    val fileName→ Main.kt = "Main.kt"5    val fullPath→ com/example/app/Main.kt = "$directorycom/example/app/$fileNameMain.kt"67    println("package=$packageNamecom.example.app")8    println("directory=$directorycom/example/app")9    println("file=$fullPathcom/example/app/Main.kt")10}
    outputpackage=com.example.app
    directory=com/example/app
    file=com/example/app/Main.kt
  1. packageName ← org.demo.tool, directory ← org/demo/tool, fileName ← Main.kt

    1fun main() {2    val packageName→ org.demo.tool = "org.demo.tool"3    val directory→ org/demo/tool = packageNameorg.demo.tool.split(".").joinToString("/")4    val fileName→ Main.kt = "Main.kt"5    val fullPath→ org/demo/tool/Main.kt = "$directoryorg/demo/tool/$fileNameMain.kt"67    println("package=$packageNameorg.demo.tool")8    println("directory=$directoryorg/demo/tool")9    println("file=$fullPathorg/demo/tool/Main.kt")10}
    outputpackage=org.demo.tool
    directory=org/demo/tool
    file=org/demo/tool/Main.kt