¿Por qué obtengo una excepción MalformedInputException de este código?

Soy un novato en Scala, y quería escribir algunos códigos fuente de mí mismo para mejorar. He escrito un objeto simple (con una entrada principal) para simular una llamada "grep" en todos los archivos del directorio actual. (Lanzamiento el programa desde Eclipse Indigo, y en 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)
  }

}

Pero obtengo una java.nio.charset.MalformedInputException, que no puedo resolver:

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)

Gracias de antemano por las ayudas :)

Respuestas a la pregunta(2)

Su respuesta a la pregunta