Avatar ·

Cómo usar correctamente try-with-resources en Kotlin?

¡Hola a todos! Estoy migrando de Java a Kotlin y me encontré con el problema de la gestión de recursos. En Java estaba acostumbrado a usar try-with-resources para cerrar automáticamente streams, archivos, etc. Por ejemplo, en Java escribiría: ```java try (BufferedReader reader = new BufferedReader(new FileReader("file.txt"))) { String line = reader.readLine(); // procesamiento } catch (IOException e) { e.printStackTrace(); } ``` En Kotlin veo que no hay una analogía directa de try-with-resources. Intenté usar un try-catch-finally normal, pero se ve engorroso: ```kotlin val reader = BufferedReader(FileReader("file.txt")) try { val line = reader.readLine() // procesamiento } catch (e: IOException) { e.printStackTrace() } finally { reader.close() } ``` Además, si uso múltiples recursos, el código se vuelve aún más confuso. He oído hablar de la función use(), pero no estoy seguro de cómo aplicarla correctamente. ¿Podrían indicarme cómo trabajar de manera elegante y segura en Kotlin?