Я пытаюсь найти последнюю строку текстового файла, используя довольно стандартную идиому цикла while, которую я часто использую в Java.
У меня менее компактная версия работает. Но тот, который я хотел бы использовать, не является допустимым синтаксисом в Котлине. Мой предпочтительный метод включает в себя задание и Boolean
проверку этого задания в одной строке.
По общему признанию, это небольшой вопрос, но я хочу лучше реализовать свой код Kotlin.
fun readLastLine(file:File):String {
val bufferedReader = file.bufferedReader()
var lastLine=""
//valid
var current = bufferedReader.readLine()
while(current != null) {
lastLine=current
current = bufferedReader.readLine()
}
//return lastLine
//not valid...
//while((current=bufferedReader.readLine())!=null){
// lastLine=current
//}
//responding to comment below,
//preferred/terse answer using file.readLines
//this reads all the lines into a list, then returns the last
return file.readLines().last()
}