第9章 文件IO操作、正则表达式与多线程
我们在《第6章 扩展函数与属性》中已经介绍过Kotlin中的类扩展的特性。使用Kotlin的扩展函数功能,我们可以直接为 String 类实现一个 inc() 函数,这个函数把字符串中的每一个字符值加1
"abc".inc() // bcd
这个扩展函数实现如下
fun String.inc(): String {
var result = ""
this.map { result += it + 1 }
return result
}
正是因为有了强大的扩展函数,我们可以在Java类库的基础上扩展出大量“看似Java 类中的原生方法” 。而实际上Kotlin的标准库kotlin-stdlib中大量的API都是通过扩展Java的类来实现的。
本章我们将要介绍的文件IO操作、正则表达式与多线程等相关内容都是Kotlin通过扩展Java已有的类来实现的。首先,我们来介绍文件的读写。
9.1 文件 IO 操作
Kotlin IO 操作的 API 在 kotlin.io 包下。Kotlin的原则就是Java已经有好用的就直接使用,没有的或者不好用的,就在原有类的基础上进行功能扩展。例如Kotlin 就给 File 类写了扩展函数。
Kotlin为 java.io.File 类扩展了大量好用的扩展函数,这些扩展函数都在 kotlin/io/FileR