【2023】Kotlin教程
第三篇 Kotlin进阶
第21章 Kotlin I/O与文件管理
Kotlin I/O(输入与输出)是基于Java I/O流技术,但是Java I/O流技术使用起来比较繁琐,Kotlin提供了很多扩展,使代码变得简洁。
21.3 字符流
掌握字符流的API先要熟悉它的两个抽象类:Reader和Writer,了解它们有哪些主要的函数。
21.3.3 案例:文件复制
该案例实现了文件复制,数据源是文件,所以用到文件输入流FileReader,数据目的地也是文件,所以用到文件输出流FileWriter。
FileReader和FileWriter都属于底层流,在实际开发时为了提高效率可以使用缓冲流BufferedReaderBufferedWriter。下面通过文本文件复制的案例介绍一下如何使用字符流,该案例是将当前项目下TestDir目录中的JButtonGroup.html文件,复制到TestDir下的subDir目录中。代码如下:
package com.dingjiaxiong
import java.io.FileReader
import java.io.FileWriter
fun main() {
FileReader("D:\\DingJiaxiong\\IdeaProjects\\KotlinStudy\\chapter21\\kotlin\\com\\dingjiaxiong\\TestDir\\JButtonGroup.html").use { fis ->
FileWriter("D:\\DingJiaxiong\\IdeaProjects\\KotlinStudy\\chapter21\\kotlin\\com\\dingjiaxiong\\TestDir\\subDir\\JButtonGroup.html").use { fos ->
// 创建字符缓冲输入流
val bis = fis.buffered()
// 创建字符缓冲输出流
val bos = fos.buffered()
// 复制到输出流
bis.copyTo(bos)
println("复制完成")
}
}
}
运行结果
没问题。