pipeline流pipeline提供了一种输出流到输入流的机制。通常我们习惯从一个流中获取数据,然后将数据传递给另一个流。如上图所示,我们把文件比作装满水的水桶,水就是文件的内容。我们用一根管道(pipe)连接两个桶,让水从一个桶流到另一个桶,从而慢慢实现大文件的复制过程。在下面的示例中,我们读取一个文件的内容并将内容写入另一个文件。fs.createReadStream读取流constfs=require('fs');varreadStream=fs.createReadStream('input.txt');varstr='';//流变量计数=0;//timesreadStream.on('data',function(chunk){str+=chunk;count++;})//读取完成readStream.on('end',function(chunk){console.log(str);console.log(count)})//读取错误readStream.on('error',function(err){console.log(err)})fs.createWriteStream写入流varfs=require('fs');vardata='我是我要保存从数据库11获取的数据\n';varwriterStream=fs.createWriteStream('output.txt');for(vari=0;i<100;i++){writerStream.write(data,'utf8');}writerStream.end();writerStream.on('finish',function(){console.log('writingcomplete')})writerStream.on('error',function(){console.log('writefailed')})pipepipevarfs=require("fs");//创建一个可读流varreaderStream=fs.createReadStream('input.txt');//创建一个可写流streamvarwriterStream=fs.createWriteStream('output.txt');//管道读写操作//读取input.txt文件的内容,并将内容写入output.txt文件readerStream.pipe(writerStream);安慰。log("程序执行完毕");
