天天看點

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()