Warum erhalte ich von diesem Code eine MalformedInputException?

Ich bin ein Neuling in Scala und wollte ein paar Quellcodes von mir schreiben, damit ich besser werde. Ich habe ein einfaches Objekt (mit einem Haupteintrag) geschrieben, um einen "grep" -Aufruf für alle Dateien des aktuellen Verzeichnisses zu simulieren. (Ich starte das Programm von Eclipse Indigo und in Debian Squeeze):

package com.gmail.bernabe.laurent.scala.tests

import java.io.File

import scala.io.Source

object DealWithFiles {

  def main(args:Array[String]){
    for (result <- grepFilesHere(".*aur.*"))
      println(result)
  }

  private def grepFilesHere(pattern:String):Array[String] = {
    val filesHere = new File(".").listFiles

    def linesOfFile(file:File) =
      Source.fromFile(file).getLines.toList

    for (file <- filesHere;
        if file.isFile
    )
      yield linesOfFile(file)(0)
  }

}

Aber ich bekomme eine java.nio.charset.MalformedInputException, die ich nicht lösen kann:

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.hasNext(BufferedSource.scala:67)
at scala.collection.Iterator$class.foreach(Iterator.scala:772)
at scala.io.BufferedSource$BufferedLineIterator.foreach(BufferedSource.scala:43)
at scala.collection.generic.Growable$class.$plus$plus$eq(Growable.scala:48)
at scala.collection.mutable.ListBuffer.$plus$plus$eq(ListBuffer.scala:130)
at scala.collection.TraversableOnce$class.toList(TraversableOnce.scala:242)
at scala.io.BufferedSource$BufferedLineIterator.toList(BufferedSource.scala:43)
at com.gmail.bernabe.laurent.scala.tests.DealWithFiles$.linesOfFile$1(DealWithFiles.scala:18)
at com.gmail.bernabe.laurent.scala.tests.DealWithFiles$anonfun$grepFilesHere$2.apply(DealWithFiles.scala:23)
at com.gmail.bernabe.laurent.scala.tests.DealWithFiles$anonfun$grepFilesHere$2.apply(DealWithFiles.scala:20)
at scala.collection.TraversableLike$WithFilter$anonfun$map$2.apply(TraversableLike.scala:697)
at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:34)
at scala.collection.mutable.ArrayOps.foreach(ArrayOps.scala:38)
at scala.collection.TraversableLike$WithFilter.map(TraversableLike.scala:696)   
at com.gmail.bernabe.laurent.scala.tests.DealWithFiles$.grepFilesHere(DealWithFiles.scala:20)
at com.gmail.bernabe.laurent.scala.tests.DealWithFiles$.main(DealWithFiles.scala:10)
at com.gmail.bernabe.laurent.scala.tests.DealWithFiles.main(DealWithFiles.scala)

Vielen Dank im Voraus für Hilfe :)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage