Я читаю файл CSV, в котором я хочу, чтобы вы прочитали мне все строки, кроме двух последних. Я пытался добавить счетчик для подсчета количества строк, но ничего, что я делаю, не работает для меня, поэтому посмотрим, сможете ли вы мне помочь:
class CSVFile(private var inputStream: InputStream) {
fun read(): MutableList<List<String>> {
val resultList: MutableList<List<String>> = mutableListOf()
val reader = BufferedReader(InputStreamReader(inputStream))
try {
var csvLine: String?
var counter = 0
while (reader.readLine().also { csvLine = it } != null) {
counter++
for (i in 0 until counter-2) {
val row = csvLine?.split(",")
row?.let { resultList.add(it) }
}
}
} catch (ex: IOException) {
throw RuntimeException("Error in reading CSV file: $ex")
} finally {
try {
inputStream.close()
} catch (e: IOException) {
throw RuntimeException("Error while closing input stream: $e")
}
}
return resultList
}
}
Я делаю беспорядок, потому что я знаю У меня более или менее есть идея, но я не могу организовать ее так, чтобы я прекратил считать до того, как доберусь до последних двух.