Avatar ·

如何在 Kotlin 中正确使用 try-with-resources?

大家好!我正在从 Java 切换到 Kotlin,遇到了资源管理的问题。在 Java 中,我习惯使用 try-with-resources 来自动关闭流、文件等。例如,在 Java 中我会这样写: ```java try (BufferedReader reader = new BufferedReader(new FileReader("file.txt"))) { String line = reader.readLine(); // 处理 } catch (IOException e) { e.printStackTrace(); } ``` 在 Kotlin 中,我发现没有直接的 try-with-resources 对应物。我尝试过使用普通的 try-catch-finally,但这看起来很笨重: ```kotlin val reader = BufferedReader(FileReader("file.txt")) try { val line = reader.readLine() // 处理 } catch (e: IOException) { e.printStackTrace() } finally { reader.close() } ``` 此外,如果我使用多个资源,代码会变得更加混乱。我听说过 use() 函数,但不确定如何正确使用它。请告诉我如何在 Kotlin 中优雅且安全地处理资源。