我是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
helper方法。关于java - Kotlin:appendText和关闭资源,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45311856/