介绍
- 文件流:我们一般对大一点的文件实现stream的方式进行操作
- http:显然http.createServer创建过程中的IncomingMessage实现了可读流的接口,ServerResponse实现了可写流的借口
文件流
- 写入流的close事件,必须通过ws.end() 方法来调用
- 文件的默认是flags是w,这是覆盖操作,追加的话是a
var fs = require(‘fs‘)var rs = fs.createReadStream(‘./a.txt‘)var ws = fs.createWriteStream(‘./hello.txt‘, { ???flags: ‘a‘})rs.once(‘open‘, function () { ???console.log(‘可读流打开了‘)})rs.once(‘close‘, function () { ???console.log(‘可读流关闭了‘) ???ws.end()})rs.on(‘data‘, function (data) { ???ws.write(data)})ws.once(‘open‘, function () { ???console.log(‘可写流打开了‘)})ws.once(‘close‘, function () { ???console.log(‘可写流关闭了‘)})
- 管道pipe对于流的操作更加方便,不需要在读流的过程中在写流
var fs = require(‘fs‘)var rs = fs.createReadStream(‘./a.txt‘)var ws = fs.createWriteStream(‘./hello.txt‘, { ???flags: ‘a‘})rs.once(‘open‘, function () { ???console.log(‘可读流打开了‘)})rs.once(‘close‘, function () { ???console.log(‘可读流关闭了‘) ???// ws.end()})// rs.on(‘data‘, function (data) {// ????ws.write(data)// })ws.once(‘open‘, function () { ???console.log(‘可写流打开了‘)})ws.once(‘close‘, function () { ???console.log(‘可写流关闭了‘)})rs.pipe(ws)
Node.js——Stream
原文地址:https://www.cnblogs.com/wuqiuxue/p/9191956.html