我正在尝试在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
它工作正常,但除非由换行符终止,否则永远不会报告最后一行文件。有没有办法解决这个问题(当然,手动添加换行符除外)?
答案 0 :(得分:1)
您应该使用fs
模块,并在\n
字符上拆分文件内容,以确定行的结束位置。
答案 1 :(得分:0)
自0.12.2 https://github.com/nodejs/node-v0.x-archive/issues/7238以来似乎是固定的