Как я могу прочитать данные содержимого из файла свойств в объект свойств? - PullRequest
0 голосов
/ 24 января 2019

В моем проекте Kotlin в папке resources у меня есть файл свойств. Как я могу прочитать данные содержимого из этого файла в объект Свойства?

Я пытаюсь это:

 val fis = FileInputStream("resources/pairs_ids.txt")
    prop.load(fis);
    logger.info("ETH_BTC_id = " + prop.get("ETH_BTC"))

Но я получаю ошибку:

Exception in thread "main" java.io.FileNotFoundException: resources\pairs_ids.txt (The system cannot find the path specified)

Ответы [ 2 ]

0 голосов
/ 25 марта 2019

что мне нравится делать в этом случае, это что-то вроде:

@Suppress("UNCHECKED_CAST")
fun <T> getProp(key: String): T {
    val props  = javaClass.classLoader.getResourceAsStream("pairs_ids.txt").use {
        Properties().apply { load(it) }
    }
    return (props.getProperty(key) as T) ?: throw RuntimeException("could not find property $key")
}

, он прочитает свойства и попытается привести определенное свойство.из-за вывода типа kotlins его можно использовать следующим образом:

val foo: String = getProp("ETH_BTC")

или это:

val foo = getProp<String>("ETH_BTC")
0 голосов
/ 24 января 2019
val props = Properties()
props.load(...)
props.getProperty("key")

То же самое, что и с Java

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...