天天看点

java scanner getline,在Scala中读取整个文件?

在Scala中将整个文件读入内存的简单而规范的方法是什么?(理想情况下,可以控制字符编码。)

我能想到的最好的是:

scala.io.Source.fromPath("file.txt").getLines.reduceLeft(_+_)

还是我应该使用Java令人敬畏的惯用法之一,最好的用法是(不使用外部库):

import java.util.Scanner

import java.io.File

new Scanner(new File("file.txt")).useDelimiter("\\Z").next()

通过阅读邮件列表讨论,我不清楚scala.io.Source甚至应该是规范的I / O库。我不明白它的预期目的是什么。

...我想要一些简单易记的东西。例如,在这些语言中,很难忘记惯用语...

Ruby    open("file.txt").read

Ruby    File.read("file.txt")

Python  open("file.txt").read()