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

我经常使用这样的代码:

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")