Node-Stream流

 

Stream 有四种流类型:

Readable - 可读操作。

        ps:  var Readable = require('stream').Readable;

                 var readStream = new Readable();

                readStream.push('I');

                readStream.pipe(writeStream);  // 将读取流中的数据复制给写入流

Writable - 可写操作。

        psvar Writable = require('stream').Writable;

               var writable = new Writable();

               writeStream._write = function(chunk, encode, cb){

                      console.log(chunk.toString());

                     cb();

              });

Duplex - 可读可写操作.

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

Stream对象事件类型

data :  当有数据可读时触发。

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

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

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

            ps:    var readStream = fs.createReadStream('stream_copy_image.js');

                   readStream.on('data', function(chunk){ console.log(Buffer.isBuffer(chunk));  })

读取流中数据 createReadStream

readStream = fs.createReadStream('logo.png'); // 参数是读取的文件

readStream.pause() 停止读取数据

readStream.resume 恢复读取数据

写入流 createWriteStream

writeStream = fs.createWriteStream('logo-write.png'); // 参数是将要写入的文件

writeStream.end() ;

writeStream.write('chunk');  写入内容  false(还在缓存,还没写入内存地址)

事件:drain 已经写入目标地址

 

管道流 pipe()

readerStream.pipe(writerStream); 将读取流复制到写入流

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值