一,Stream 是一个抽象接口,Node对象有很多对象实现这个接口。例如,对http服务器发起请求的request对象就是一个Stream,还有stdout(标准输出)
二,Node.js Stream有四种流类型:
1. Readable - 刻度操作
2. Writable - 可写操作
3. Duplex - 可读可写操作
4. Transform - 操作被写入数据,然后读出结果。
所有的Stream对象都是EventEmitter的实例。
常用事件:
1. data - 当有数据可读时触发。
2.end - 没有更多的数据可读时触发。
3.error - 在接收和写入过程中发生错误时触发。
4.finish - 所有数据已被写入到底层系统时触发。
二,从流中读取数据
创建stream.txt文件,如下:
三,写入流
创建一个js文件,output.js
四,管道流
管道提供了一个输出流到输入流的机制。
通常我们用于从一个流中获取数据并将数据传递到另外一个流中。
五,链式流
链式是通过连接输出流到另外一个流 并创建多个流操作链的机制。
链式流一般用于管道操作。
接下去用链式流和管道来压缩和解压文件。
创建一个compress.js
以上是压缩文件。
接下来,解压上面的文件。
创建decompress.js