node.js stream

时间:2023-03-09 22:00:57
node.js stream
stream是一个接口,流是可以从一个读取或写入数据的目标对象
,Node 中有很多对象实现了这个接口

一、nodejs stream类型
1、 Readable - 可读操作。
  • Writable - 可写操作。
  • Duplex - 可读可写操作.
  • Transform - 操作被写入数据,然后读出结果。
二、stream中事件
所有的 Stream 对象都是 EventEmitter 的实例。常用的事件有:
  • data - 当有数据可读时触发。
  • end - 没有更多的数据可读时触发。
  • error - 在接收和写入过程中发生错误时触发。
  • finish - 所有数据已被写入到底层系统时触发。
三例子:node.js stream
我们向一个txt文件中读取数据、
node.js stream
那么我们现在新建-一个文件去读取这个数据
四、管道流 (pipe)
一个输出流到输入流的机制,把文件通过管道进行相互传递,相互读写。
如下面的例子:读取a中的文件,然后把文件的内容写入b文件
readerStream.pipe(writerStream);
node.js stream
五、链式流
链式是通过连接输出流,创建多个操作。
1、nodejs压缩模块
node.js stream
例子:压缩和解压文件
关键词:require('zlib'),createGzip()