1 写入流
fs.createWriteStream 文件系统实现了写入流的接口
一点点写 , 最后触发 end之后 finish 才算写完。
2 读取流
fs.createReadStream 读取流的接口
一点点(缓冲区)。
最后要合成。
http中request 也实现了 stream流 Readable 读取流
post 提交数据 就需要通过 流的方式取值。
//读取流
var fs = require('fs');
var rs = fs.createReadStream('./1.txt');
var i = '';
var j = 0;
rs.on('data',function(a){
j++; //记录读取次数
i+=a; //读取的内容
console.log(j);
})
rs.on('end',function(){
console.log('读完了')
i = i.toString();
var rs2 = fs.createWriteStream('./2.txt'); //写入流 自动创建2.txt文件
rs2.write(i,'utf8');
rs2.end();
rs2.on('finish',function(){
console.log('写完了')
})
})
3 管道流
readerStream.pipe(writerStream); pipe 也实现了 读取流的接口
一边读 一边写 就通过管道pipe 帮你完成
finish 事件来判断是否全部写完了。
//管道流
var fs = require('fs');
var rs = fs.createReadStream('./1.txt');
var rs2 = fs.createWriteStream('./2.txt'); //自动创建2.txt文件
rs.pipe(rs2);
rs2.on('finish',function(){
console.log('写完了');
})