Загружать ресурс из локального каталога без класса

Я часто использую такой код:

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