美文网首页
Kotlin I/O 与文件管理(4)文件管理

Kotlin I/O 与文件管理(4)文件管理

作者: 狼性代码人 | 来源:发表于2019-06-28 08:52 被阅读0次
  • File 类扩展函数
  • 案例:读取目录文件

  在 Kotlin 中如果只是对文件进行操作,可以不直接使用文件流。Kotlin 在 Java 文件类 File 的基础上增加了很多扩展函数和属性,对字符串的操作变得非常简单。

一、File 类扩展函数

  File 类可以表示一个文件也可以表示一个目录。kotlin 提供的 File 扩展函数和属性有很多,这里介绍几个常用的函数。
  (1). 读取文件全部内容,返回字节数组:

fun File.readBytes(): ByteArray

  (2). 读取文件全部内容,返回字符串,所以只能是文本文件,默认字符是 UTF-8:

fun File.readText(
    charset: Charset = Charsets.UTF_8
): String

  (3). 写入字节数组到文件中:

fun File.writeBytes(array: ByteArray): Unit

  (4). 写入字符串到文件,只能是文本文件,默认字符是 UTF-8:

fun File.writeText(
    text: String, 
    charset: Charset = Charsets.UTF_8
): Unit

  (5). 遍历文件中每一行数据,对每一行数据进行处理,只能是文本文件:

fun File.forEachLine(
    charset: Charset = Charsets.UTF_8, 
    action: (line: String) -> Unit
): Unit

  (6). 读取文件中的数据到一个 List 集合,每一个行数据是一个元素,只能是文本文件:

fun File.readLines(
    charset: Charset = Charsets.UTF_8
): List<String>

  (7). 复制到目标文件,target 参数是目标文件,overwrite 参数选择是否覆盖目标文件:

fun File.copyTo(
    target: File, 
    overwrite: Boolean = false, 
    bufferSize: Int = DEFAULT_BUFFER_SIZE
): File

  (8). 遍历文件目录和内容,direction 是遍历的方向:

fun File.walk(
    direction: FileWalkDirection = FileWalkDirection.TOP_DOWN
): FileTreeWalk

  (9). 按自下而上的顺序遍历文件目录和内容:

fun File.walkBottomUp(): FileTreeWalk

  (10). 按自上而下的顺序遍历文件目录和内容:

fun File.walkTopDown(): FileTreeWalk

二、案例:读取目录文件

  该案例从 TestDir 目录中列出所有 html 文件。

fun main(args: Array<String>?) {
    File("./TestDir/").walk()
        .filter { it.isFile }
        .filter { it.extension == "html" }
        .forEach { println(it) }
}

相关文章

网友评论

      本文标题:Kotlin I/O 与文件管理(4)文件管理

      本文链接:https://www.haomeiwen.com/subject/ydhxcctx.html