В том же духе, что и ответ Иццуна ... Я начал это как комментарий, но в итоге он стал слишком длинным!
Я бы предостерег от использования Stream
, если удерживать ссылку на элемент head, то потоки могут легко потреблять много памяти.
Учитывая, что вы собираетесь читать файл только один раз, тогда Iterator
гораздо лучший выбор:
def inputStreamToByteArray(is: InputStream): Array[Byte] =
Iterator continually is.read takeWhile (-1 !=) map (_.toByte) toArray