zoukankan      html  css  js  c++  java
  • Node.js——Stream

    介绍

    • 文件流:我们一般对大一点的文件实现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)
  • 相关阅读:
    3.27 课堂 笔记
    第四周 4-2
    3-26
    Java EE期末项目
    条件查询、SQL、JPQL、HQL比较
    J2EE 第八周(04.23-04.29)
    J2EE 第七周(04.16-04.22)
    J2EE 第六周(04.09-04.15)
    J2EE 第五周(04.02-04.08)
    J2EE 第四周(03.26-04.01)
  • 原文地址:https://www.cnblogs.com/wuqiuxue/p/9191956.html
Copyright © 2011-2022 走看看