是否有方法node.js逐行读取文件

时间:2014-07-31 03:14:29

标签: node.js

我已经使用fs.readFile API来读取文件,但这会返回一个缓冲区,但我想逐行读取文件,所以有一些方法可以这样做吗?

2 个答案:

答案 0 :(得分:0)

您必须使用fs(文件系统)和readline模块。

fs允许您打开文件并将其转换为流,您可以将其传递给readline以逐行读取文件。

如下:

var readline = require('readline');
var fs = require('fs');

var istream = fs.createReadStream('sample.txt');
var rl = readline.createInterface(istream, null);
rl.on('line', function (line) {
   //whatever you want to do with each line
});

rl.close();

答案 1 :(得分:0)

var through = require('through'),
    fs = require('fs');

var tr = through(function (buf) {
    this.queue(buf.toString());
});

var fileStream = fs.createReadStream(filename)
   .pipe(tr)
   .pipe(process.stdout);

目前,由于您的问题没有关于您想要完成的内容的详细信息,因此除了将每行输出到stdout之外什么都不做,但您可以对through内的每一行执行任何操作。如果您不需要修改文本或任何内容,那么就不要费心去管tr