node.js学习笔记(node.js Stream(流))

node.js Stream(流)

Stream 是一个抽象接口

Stream 有四种流类型:

Readable : 可读操作

Writable : 可写操作

Duplex : 可读可写操作

Transform : 操作被写入数据,然后读出结果

所有 Stream 对象都是 EventEmitter 实例,常用事件:

data : 当有数据可读时触发

end : 没有更多的数据可读时触发

error : 在接收和写入过程中发生错误时触发

finish : 所有数据已被写入到底层系统时触发

从流中读取数据

node.js学习笔记(node.js Stream(流))

写入流

node.js学习笔记(node.js Stream(流))

管道流

管道提供了一个输出流到输入流的机制

通常我们用于从一个流中获取数据并将数据传递到另外一个流中

//将读取的文件内容,写入到要写入的文件中

readerStream.pipe(writerStream);

链式流

链式是通过连接输出流到另外一个流并创建多个流操作链的机制

链式流一般用于管道操作

一般用管道和链式来压缩和解压文件

node.js学习笔记(node.js Stream(流))