lines
- это отдельная строка, а не какой-то итерационный контейнер строк. Это потому, что вы вызвали метод .mkString
для него.
Когда вы перебираете строку, вы делаете это по одному символу за раз. Таким образом, line
в вашем for
на самом деле не строка, а один символ.
То, что вы, вероятно, намеревались сделать, это позвонить .getLines
вместо .mkString