为什么Kotlin不允许我使用writeText扩展名?

时间:2016-02-26 06:02:06

标签: kotlin kotlin-extension

我有一个带有方法的Kotlin类,它会创建一些文本,然后我想将它写入文件:

import java.io.File
import java.util.*
import kotlin.io.*

class MyClass {
    fun run() {
        val result = html {
            head {
                title { +"Entry page" }
            }
            body {
                h1 {
                    +"Map"
                }
                +"Some HTML code"
            }
        }
        File("target/wdef/index.html").writeText(result)
    }
}

我收到错误 - writeText(result)突出显示为红色,我收到错误消息Error:(26, 40) Kotlin: Unresolved reference: writeText

我该如何解决?

1 个答案:

答案 0 :(得分:3)

问题可能是您将错误的类型传递给writeText。它需要String,但您传递的是html构建对象HTML。尝试使用toString转换它:

File("target/wdef/index.html").writeText(result.toString())