Node.js——Stream

介紹ui

  • 文件流:咱們通常對大一點的文件實現stream的方式進行操做
  • http:顯然http.createServer建立過程當中的IncomingMessage實現了可讀流的接口,ServerResponse實現了可寫流的藉口

文件流spa

  • 寫入流的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)
相關文章
相關標籤/搜索