使用Java8 Files.lines的Kotlin文件行流

时间:2019-02-23 19:03:37

标签: string kotlin stream

使用的文件带有UTF8编码。该文件如下:

41 18467
6334 26500
15724 19169
11478 29358
24464 26962

以下代码的处理显示空行:

private fun doTask(sPath: String) {
   Files.lines(Paths.get(sPath), StandardCharsets.UTF_8)
      .forEach{println()}
}

帮助修复代码。有没有不涉及Java8库的唯一的Kotlin解决方案吗?

1 个答案:

答案 0 :(得分:3)

您正在打印空白行,因为没有告诉您的["webcomponent", "customelement"]呼叫要打印任何内容。如果要打印每一行,则必须将println()(如果未指定,则为lambda的默认参数)传递到it

println

您还可以使用Kotlin的Files.lines(Paths.get(sPath), StandardCharsets.UTF_8) .forEach{println(it)} 扩展名(默认为UTF-8)来简化此操作:

File.readLines()