我是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/

10-10 19:50