Я пытаюсь читать из (\ n отделенного) файла в Scala.Я хотел бы относиться к последней и второй к последней строке файла в отличие от других.как мне этого добиться?Насколько я знаю, LineNumberedReader
, который является BufferedReader
, может получить текущий номер строки, но не знает об общем количестве строк (чтобы обработать последнюю строку по-другому).Требуется:
var aLine = lineNumberedReader.readLine
while (aLine != null) {
val currentLineNum: Int = lineNumberedReader.getLineNumber
if (currentLineNum == total_line_count - 1) {
do_this // To know if its the last line/ second to last, I need the total_line_count available in hand. which I (maybe incorrectly?) believe needs a file iteration by itself
} else {
do_that
}
aLine = lineNumberedReader.readLine
}
Те же проблемы существуют с Scala io.Source
.требуется минимум две итерации файла.Какие-нибудь идеи / API, с помощью которых это может быть достигнуто с помощью одной итерации?
EDIT : Расширить вопрос, включив регистр для второй до последней строки