Почему я получаю java.nio. BufferUnderflowException в этом Scala

Проверьте по имени нестандартного шрифта, установлен ли флажок «Целевое членство». Это должно помочь.

5
задан oxbow_lakes 26 June 2009 в 20:19
поделиться

3 ответа

Мне также было бы интересно узнать, почему это происходит, но я предполагаю, что это связано с тем фактом, что 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 тест, наверное, тоже пригодится)

2
ответ дан 14 December 2019 в 01:14
поделиться

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.

6
ответ дан 14 December 2019 в 01:14
поделиться

Это, по сути, переформулирование ответа Элазара, но вы также получите это исключение, если попытаетесь прочитать двоичный файл, используя scala.io.Source.fromFile.

Я только что столкнулся с этим (случайно пытаясь прочитать .jpg с помощью fromFile) из-за очень глупой ошибки в чем-то, что я написал...

.
1
ответ дан 14 December 2019 в 01:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: