Pourquoi Scala se bloque-t-il lors de la lecture de mon fichier CSV?

Le fichier est ici

http://dl.dropbox.com/u/12337149/history.csv

J’essaie de lire les données comme suit

for (line <- Source.fromFile(new File(file)).getLines) { println(line) } 

Je reçois l’erreur suivante

 Exception in thread "main" java.nio.charset.MalformedInputException: Input length = 1 at java.nio.charset.CoderResult.throwException(CoderResult.java:260) at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:319) at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158) at java.io.InputStreamReader.read(InputStreamReader.java:167) at java.io.BufferedReader.fill(BufferedReader.java:136) at java.io.BufferedReader.readLine(BufferedReader.java:299) at java.io.BufferedReader.readLine(BufferedReader.java:362) at scala.io.BufferedSource$BufferedLineIterator.(BufferedSource.scala:32) at scala.io.BufferedSource.getLines(BufferedSource.scala:43) at com.alluvia.reports.RunIGConverter$$anonfun$main$1.apply(RunIGConverter.scala:17) at com.alluvia.reports.RunIGConverter$$anonfun$main$1.apply(RunIGConverter.scala:15) at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:34) at scala.collection.mutable.ArrayOps.foreach(ArrayOps.scala:38) at com.alluvia.reports.RunIGConverter$.main(RunIGConverter.scala:15) at com.alluvia.reports.RunIGConverter.main(RunIGConverter.scala) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) 

Le fichier s’ouvre très bien dans Excel. Je pense que c’est un problème d’encodage mais je ne connais pas le travail à faire

Je voudrais essayer le codage ISO8859_1, ou Cp1252 si cela ne fonctionne pas, comme suit:

 Source.fromFile(new File(file), "ISO-8859-1").getLines() 

Vous pouvez voir quels codages sont supportés par Sun Java ici . J’oublie si vous êtes censé utiliser les versions nio ou io. (Comme vous pouvez le voir dans ma réponse, qui a utilisé les deux.)