Node.js: как прочитать последнюю непустую строку только в текстовом файле?

Допустим, у меня есть текстовый файл с именем example.exe, который выглядит следующим образом:

Line 1 Stuff
Line 2 Stuff
(здесь больше строк)
Line N (последняя строка) Stuff
(пустая строка \n)

Я хочу иметь возможность читать только последнюю строку файла, поэтому в этом случае Line N (Last Line) Stuff и сохранить ее внутри строки. Кроме того, я знаю, что вы можете читать построчно, но я хочу сократить время выполнения и избежать ошибок нехватки памяти по мере увеличения текстового файла. Кто-нибудь хочет помочь мне с этим? Я бы предпочел, чтобы это не делалось с помощью require('fs').


person Some Student    schedule 30.12.2020    source источник
comment
Получите длину файла и вызовите read(), например. offset = length - 1024 и length = 1024. Продолжайте читать, пока не найдете символ, не являющийся новой строкой.   -  person root    schedule 01.01.2021


Ответы (1)


Предполагая, что вы храните содержимое в переменной content, вы можете разделить содержимое по строкам...

var lines = content.split("\n")

... и проверьте, пуста ли последняя строка...

var lastLine = lines[lines.length-1].length ? lines[lines.length-1] : lines[lines.length-2]
person HymnZzy    schedule 30.12.2020