Node.js readline отсутствует последняя строка файла?

Я пытаюсь читать текстовый файл асинхронно и по очереди в Node.js. У меня есть следующий код CoffeeScript:

readline  = require 'readline'
fs        = require 'fs'

#--------------------------------------------------------------------
lines_of = ( route, handler ) ->
  #..................................................................
  stream = readline.createInterface
    input:    fs.createReadStream route
    output:   process.stdout
    terminal: false
  #..................................................................
  stream.on 'close', ->
    handler null, null
  #..................................................................
  stream.on 'error', ( error ) ->
    handler error
  #..................................................................
  stream.on 'line', ( line ) ->
    handler null, line

Он отлично работает, за исключением того, что самая последняя строка файлов никогда не сообщается, если она не завершена новой строкой. есть ли способ исправить это (за исключением, конечно, добавления новой строки вручную)?

Ответы

Ответ 1

Для этого вы должны использовать модуль fs и разделить содержимое файла на символах \n, чтобы определить, где заканчиваются строки.