Вы, кажется, читаете одну и ту же строку снова и снова.Поскольку цикл никогда не закончится, в конечном итоге вам не хватит памяти и вылетит программа.
val line = reader.readLine() // 1
while (line != null) { // 2
data.append(line!! + "\n") // 3
}
1 - Попросите читателя прочитать следующую строку данных в line
2- Если строка не нулевая, продолжайте движение
3 - Добавьте строку к данным.Перейдите к шагу 2.
В конце цикла вам нужно прочитать следующую строку, чтобы цикл while мог оценить его на ноль.Вам также нужно сделать line
a var
, чтобы вы могли изменить его.
var line = reader.readLine() // <-- Change val to var
while (line != null) {
data.append(line!! + "\n")
line = reader.readLine() // <-- Add this
}