Kotlin/Java 读取Jar文件里的指定文件

Stars-one 2021年03月30日 323次浏览 本篇字数为747字

本文为作者原创,转载请注明出处,谢谢配合
作者:Stars-one
链接:https://stars-one.site/2021/03/30/kotlin-read-jar-file


jar包本质上也是压缩文件,下面给出如何读取jar包里某个文件的源码:

jar包文件结构

val jarFile = JarFile("D:\\project\\javafx\\lanzou-downloader\\out\\text.jar")
val entry  =jarFile.getEntry("desc.png")
//这里是相对于目录,注意,开头并不需要"/"
val entry  =jarFile.getEntry("img/7z.png")
val inputStream = jarFile.getInputStream(entry)

遍历的方法:

val jarFile = JarFile("D:\\project\\javafx\\lanzou-downloader\\out\\蓝奏云批量下载器3.0.jar")
//遍历所有文件
for (entry in jarFile.entries()) {
    //文件名
    println(entry.name)
    //获取文件流
    val inputStream = jarFile.getInputStream(entry)
}

输出结果(部分截图)