Node.js readline缺少最后一行文件?

flo*_*low 7 readline node.js coffeescript

我正在尝试在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
Run Code Online (Sandbox Code Playgroud)

它工作正常,除非最后一行文件从未报告,除非它被换行符终止.有没有办法解决这个问题(当然,除了手动添加换行符)?

eri*_*old 1

您应该使用fs该模块来实现此目的,并将文件内容拆分为\n字符以确定行的结束位置。

  • 读取文件内容?如果文件大小是 50G 并且 RAM 是 4G 怎么办? (5认同)