What's a simple and canonical way to read an entire file into memory in Scala? (Ideally, with control over character encoding.)
The best I can come up with is:
scala.io.Source.fromPath("file.txt").getLines.reduceLeft(_+_)
or am I supposed to use one of Java's god-awful idioms, the best of which (without using an external library) seems to be:
import java.util.Scanner
import java.io.File
new Scanner(new File("file.txt")).useDelimiter("\\Z").next()
From reading mailing list discussions, it's not clear to me that scala.io.Source is even supposed to be the canonical I/O library. I don't understand what its intended purpose is, exactly.
... I'd like something dead-simple and easy to remember. For example, in these languages it's very hard to forget the idiom ...
Ruby open("file.txt").read
Ruby File.read("file.txt")
Python open("file.txt").read()