我有一个gradle kotlin项目,我想从我的资源目录加载一个文件。我的kotlin类在src/main/kotlin/packagenames中,我的资源在src/main/resources
在gradle构建包括kotlin插件(kotlin("jvm")版本"1.7.20")我的类被复制到build/classes/kotlin/main/packagenames和我的资源构建/resources/main
现在我试着从kotlin代码中读取这些文件
object {}.javaClass.getResourceAsStream("/resources/filename")
或
object {}.javaClass.classloader.getResourceAsStream("/resources/filename")
但是没有找到文件。
当我尝试查看它查找的目录
println(this.javaClass.getResource("/"))
导致build/classes/kotlin和javaClass。classLoader返回null访问'/'
这意味着通常我必须去两个目录,然后访问资源目录,但这不起作用,因为build/classes/kotlin似乎是根目录。你知道为什么会这样吗?
将/resources/
从输入字符串中删除,并尝试
object {}.javaClass.getResourceAsStream("/filename")
应该可以正常工作。