码迷,mamicode.com
首页 > Web开发 > 详细

Node.js——Stream

时间:2018-06-17 11:06:31      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:mes   creates   func   response   需要   fun   create   调用   事件   

介绍

  • 文件流:我们一般对大一点的文件实现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

标签:mes   creates   func   response   需要   fun   create   调用   事件   

原文地址:https://www.cnblogs.com/wuqiuxue/p/9191956.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!