【发布时间】:2015-05-13 23:45:26
【问题描述】:
我想拆分一个文件:每一行都在一个单独的文件中。初始文件非常大。我完成了下面的代码:
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();
}
});
它有效,但它很丑。有没有更多的nodish方式来做到这一点?也许有管道并且没有暂停/恢复。
注意:这不是关于 lines/files/etc 的问题。这个问题是关于流的,我只是试图用这个问题来说明它
【问题讨论】: