Scalaでファイル全体をメモリに読み込むためのシンプルで標準的な方法は何ですか?(理想的には、文字エンコーディングを制御します。)
私が思いつくことができる最高のものは:
scala.io.Source.fromPath("file.txt").getLines.reduceLeft(_+_)
または私はJavaの神に恐ろしいイディオムの 1つを使用することになっていますか?その最高のもの(外部ライブラリを使用しない)は次のようです:
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()