stream流:将数据的传输看作是水流,分段传输,能更好的管制,提高效率。

所有的 Stream 对象都是 EventEmitter 的实例

分类:包含了读,写,边读边写等数据流。
eg:fs的文件读写等api; 用读文件的数据流据举例子:

//自主定义读文件的流let freadStream = fs.createReadStream('./test.txt',{ //每次读取字节数 highWaterMark:3,    //读取模式 flags:'r', //默认 'r'  autoClose:true, //默认读取结束后主动敞开 start:0, //读取文件开始地位 // end:3, //流是闭合区间 蕴含start也含end encoding:'utf8' //默认null})//下面创立了一个读取test.data的数据流,当初让他运行起来freadStream.on('open',()=>{ console.log('流开始关上文件');})freadStream.on('data',(e)=>{ console.log('继续有数据被读取进去:',e);})freadStream.on('end',()=>{ console.log("数据读取实现,没有流了");})```