Какой простой и канонический способ чтения всего файла в память в 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 даже предполагается, что это каноническая библиотека ввода / вывода. Я не понимаю, какова его цель, точно.
... Я хотел бы что-то чертовски простое и легко запоминающееся. Например, в этих языках очень трудно забыть идиому ...
Ruby open("file.txt").read
Ruby File.read("file.txt")
Python open("file.txt").read()