| createReadStream() - 创建可读流
| createWriteStream() - 创建可写流
| setEncodeing() - 设置编码
|
Stream
Stream把较大的数据,拆分成小的部分
读取文件的两种: fs.readFile()和fs.createReadStream()
stream提供了以下四种类型的流:
var Stream = require('stream');
var Readable = Stream.Readable;
var Writable = Stream.Writable;
var Duplex = Stream.Duplex;
var Transform = Stream.Transform;
createReadStream()、createWriteStream()
// 创建一个Readable对象以读取bigFile内容
// 如果使用fs.readFile()可以会由于文件过大而失败
fs.createReadStream(bigFile);
setEncodeing() 设置编码
var readerStream = fs.createReadStream('input.txt');
readerStream.setEncodeing('UTF8');
事件
可读数据流的事件
readable 数据向外流时触发
data 对于那些没有显式暂停的数据流,添加data事件监听函数,会将数据流切换到流动态,尽快向外提供数据
end 读取完数据时触发。注意不能和 writeableStream.end() 混淆,writeableStream 并没有 end 事件,只有 .end() 方法
close 数据源关闭时触发
error 读取数据发生错误时触发
可写数据流的事件
drain writable.write(chunk) 返回 false 之后,缓存全部写入完成,可以重新写入时就会触发
finish 调用 .end 方法时,所有缓存的数据释放后触发,类似于可读数据流中的 end 事件,表示写入过程结束
pipe 作为 pipe 目标时触发
unpipe 作为 unpipe 目标时触发
error 写入数据发生错误时触发
| https://cnodejs.org/topic/570b1fa494b38dcb3c09a7f8
| http://fe.meituan.com/stream-basics.html
国内查看评论需要代理~