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)
}
}
}
}