nodejs基本模块(二)

stream
1.含义:是nodejs提供在服务端可用的模块,目前支持这样的额数据结构。流数据结构的特点:有序、依次读入或者一次写入、不能像Array随机定位。也叫标准输入流(stdin)。

2.在Node.js中,流也是一个对象,我们只需要响应流的事件就可以了:data事件表示流的数据已经可以读取了,end事件表示这个流已经到末尾了,没有数据可以读取了,error事件表示出错了。
如下:

'use strick';
var fs = require ('fs');
var rs = fs.createReadStream('a.txt','utf-8');
rs.on('data',function(a){
       console.log('Data')
       console.log(a) 
});
rs.on('end',function(){
    console.log('end')
})
rs.on('err',function(err){
    console.log('err'+err)
})

所有可以读取数据的流都继承自stream.Readable,所有可以写入的流都继承自stream.Writable

pipe
定义:一个Readable流和一个writable流串起来,所有的Readable流进入Writable流这种操作叫做pipe。
在node.js中Readable流有一个pipe()方法来进行将其串联起来。这样就可以将源文件的数据写入到目标文件。

'use strick'
var fs = require('fs')
var rs = fs.createReadStream('a.txt')
var ws = fs.createWriteStream('aout.txt') 
rs.pipe(ws)

默认情况下,当Readable流的数据读取完毕时,end事件触发后,将自动关闭writable流 ,如果不希望他关闭,需要传入参数:
readable.pipe(writable,{end:false})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值