En mi proyecto de Kotlin en la carpeta de recursos, tengo un archivo de propiedades. ¿Cómo puedo leer los datos de contenido de este archivo en el objeto Propiedades?
Intento esto:
val fis = FileInputStream("resources/pairs_ids.txt") prop.load(fis); logger.info("ETH_BTC_id = " + prop.get("ETH_BTC"))Pero me sale error:
Exception in thread "main" java.io.FileNotFoundException: resources\pairs_ids.txt (The system cannot find the path specified)lo que me gusta hacer en este caso es algo como:
@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") }leerá las propiedades e intentará emitir una determinada propiedad. debido a la inferencia de tipo de kotlins, se puede usar así:
val foo: String = getProp("ETH_BTC")o esto:
val foo = getProp<String>("ETH_BTC")val props = Properties() props.load(...) props.getProperty("key")Eso es lo mismo que con Java