我想分割一个文件:每一行在一个单独的文件中。最初的文件非常大。我完成代码波纹管:nodejs:在单独的文件中的每一行
var fileCounter = -1;
function getWritable() {
fileCounter++;
writable = fs.createWriteStream('data/part'+ fileCounter + '.txt', {flags:'w'});
return writable;
}
var readable = fs.createReadStream(file).pipe(split());
readable.on('data', function (line) {
var flag = getWritable().write(line, function() {
readable.resume();
});
if (!flag) {
readable.pause();
}
});
它的工作原理,但它是丑陋的。有没有更好的方式来做到这一点?也许用管道和没有暂停/恢复。
注意:这不是关于lines/files/etc的问题。问题是关于流,我只是试图说明问题