Работа с файлами / Работа с архивами

import java.io.File
import java.util.zip.ZipFile

//dir or file name
val zipFilePath = "tmp/data.zip"
val zipFile = File(zipFilePath)
val pathTo = zipFile.absolutePath
    .removeSuffix(".zip") + "/"
ZipFile(zipFilePath).use { zip ->
    zip.entries().asSequence().forEach { entry ->
        val fullName = pathTo + entry.name
        if (entry.isDirectory) {
            val dir = File(fullName)
            dir.mkdir()
        } else
        zip.getInputStream(entry).use { input ->
            File(fullName).outputStream().use { output ->
                input.copyTo(output)
            }
        }
    }
}