我经常使用这样的代码:
val sql = getResource(this.javaClass, "foo.sql")
或者这个:
val sql = getResource(::MyClass.javaClass, "foo.sql")
但是对于Kotlin,我发现自己经常在没有对象或类的情况下使用顶级函数。
我如何使用顶级功能做这样的事情?
答案 0 :(得分:1)
JDK没有定义静态getResource
方法,因此我不确定您使用哪种库来加载资源,但我怀疑它是Guava。如果没有,我建议使用它,因为它有两个getResource
方法:一个将类作为参数,一个使用context class loader。使用latter,您可以执行以下操作:
import com.google.common.io.Resources.getResource
val sql = getResource("foo.sql")