从没有类的本地目录加载资源
我经常使用这样的代码:
val sql = getResource(this.javaClass, "foo.sql")
或这个:
val sql = getResource(::MyClass.javaClass, "foo.sql")
但是对于Kotlin,我发现自己经常在没有对象或类的地方使用顶级函数。
我将如何做一个顶级的功能这样的事情?
JDK没有定义一个静态的getResource
方法,所以我不确定你用什么库来加载资源,但是我怀疑它是Guava 。 如果没有,我推荐使用它,因为它有两个getResource
方法:一个将类作为参数,另一个使用上下文类加载器 。 使用后者,您可以执行以下操作:
import com.google.common.io.Resources.getResource val sql = getResource("foo.sql")