我已经使用fs.readFile API来读取文件,但这会返回一个缓冲区,但我想逐行读取文件,所以有一些方法可以这样做吗?
答案 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
。