java – Kotlin:appendText和关闭资源

我是Kotlin的新手,但我有很强的Java背景(Java是我的日常工作).我很喜欢Kotlin的一些快捷功能.其中一个重要的是File.appendText(). IMO非常方便.

我的问题是关闭资源.如果我要使用作家,我会做这样的事情:

out8.writer().use { ... }

但我没有直接在appendText方法上看到任何指示关闭资源的东西. Kotlin是否在幕后为我处理这个问题,还是我不得不以另一种方式担心这个问题?

谢谢.

最佳答案
您可以在IDE中跳转到appendText的实现以查找(在Windows上为Ctrl B,在Mac上为⌘B).

这是方法的实现:

public fun File.appendText(text: String, charset: Charset = Charsets.UTF_8): Unit 
    = appendBytes(text.toByteArray(charset))

这是它将工作委托给的appendBytes方法:

public fun File.appendBytes(array: ByteArray): Unit 
    = FileOutputStream(this, true).use { it.write(array) }

您可以看到它实际上正如您所期望的那样使用use辅助方法.

转载注明原文:java – Kotlin:appendText和关闭资源 - 代码日志