全部的 Stream 对象都是 EventEmitter 的实例
分类:包括了读,写,边读边写等数据流。
eg:fs的文件读写等api; 用读文件的数据流据举例子: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("数据读取完成,没有流了"); })```