Який простий і канонічний спосіб прочитати весь файл в пам'яті в 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()