Quelle est une manière simple et canonique de lire un fichier entier en mémoire dans Scala? (Idéalement, avec contrôle de l'encodage des caractères.)
Le mieux que je puisse trouver est:
scala.io.Source.fromPath("file.txt").getLines.reduceLeft(_+_)
ou suis-je censé utiliser l'un des idiomes les plus horribles de Java , dont le meilleur (sans utiliser de bibliothèque externe) semble être:
import java.util.Scanner
import java.io.File
new Scanner(new File("file.txt")).useDelimiter("\\Z").next()
De la lecture des discussions de la liste de diffusion, il n'est pas clair pour moi que scala.io.Source est même censé être la bibliothèque d'E / S canonique. Je ne comprends pas quel est son objectif, exactement.
... Je voudrais quelque chose de simple et facile à retenir. Par exemple, dans ces langues, il est très difficile d'oublier l'idiome ...
Ruby open("file.txt").read
Ruby File.read("file.txt")
Python open("file.txt").read()