Проверьте по имени нестандартного шрифта, установлен ли флажок «Целевое членство». Это должно помочь.
Мне также было бы интересно узнать, почему это происходит, но я предполагаю, что это связано с тем фактом, что Source
является объектом (т.е. синглтоном) и как он получает прозрачный сброс. Вы можете решить эту проблему следующим образом:
for (l <- g.listFiles if !l.isDirectory) {
| val src = Source.fromFile(l)
| println( (0 /: src.getLines) { (i, line) => i + 1 } )
| src.reset
| }
Важным битом является reset
, который, вероятно, должен быть в блоке try-finally
(хотя isDirectory
тест, наверное, тоже пригодится)
I got BufferUnderflowException
exception when I opened a file with the wrong enconding. It contained illegal characters (according to the wrong encoding) and this misleading exception was thrown.
Это, по сути, переформулирование ответа Элазара, но вы также получите это исключение, если попытаетесь прочитать двоичный файл, используя scala.io.Source.fromFile
.
Я только что столкнулся с этим (случайно пытаясь прочитать .jpg с помощью fromFile
) из-за очень глупой ошибки в чем-то, что я написал...