从本地目录加载资源而没有类

时间:2017-03-22 22:48:45

标签: kotlin

我经常使用这样的代码:

val sql = getResource(this.javaClass, "foo.sql")

或者这个:

val sql = getResource(::MyClass.javaClass, "foo.sql")

但是对于Kotlin,我发现自己经常在没有对象或类的情况下使用顶级函数。

我如何使用顶级功能做这样的事情?

1 个答案:

答案 0 :(得分:1)

JDK没有定义静态getResource方法,因此我不确定您使用哪种库来加载资源,但我怀疑它是Guava。如果没有,我建议使用它,因为它有两个getResource方法:一个将类作为参数,一个使用context class loader。使用latter,您可以执行以下操作:

import com.google.common.io.Resources.getResource

val sql = getResource("foo.sql")