Kotlin-扩展函数use,forEachLine(第一行代码Kotlin学习笔记番外)

目录

  • 1. use
  • 2. forEachLine

1. use

use是Kotlin的一个内置的扩展函数,它能保证Lambda表达式中的代码全部执行完之后自动将外层的流关闭,这样我们就不需要再写一个finally语句,手动关闭流了。使用方法如下:

 fun save(inputText: String) {
     
        try {
     
            val output = openFileOutput("data", Context.MODE_PRIVATE)
            val writer = BufferedWriter(OutputStreamWriter(output))
            writer.use {
     
                it.write(inputText)
            }
        } catch (e: IOException) {
     
            e.printStackTrace()
        }
    }

2. forEachLine

将读到的每行内容回掉到Lambda表达式中

fun load(): String {
     
    val content = StringBuilder()
    try {
     
        val input = openFileInput("data")
        val reader = BufferedReader(InputStreamReader(input))
        reader.use {
     
            reader.forEachLine {
     
                content.append(it)
            }
        }
    } catch (e: IOException) {
     
        e.printStackTrace()
    }
    return content.toString()
}




你可能感兴趣的:(Kotlin,Android,kotlin)