nodeJs--stream

1.簡介

Node.js內置的stream模塊就是流模塊,負責處理流數據。

2. 使用示例

'use strict';
let fs = require('fs')

/**
 * @description 寫流文件
 */
function writeStream (fileName, encode = 'utf-8') {
    let ws = fs.createWriteStream(fileName, encode);
    ws.write('hello stream...\n');
    ws.write('hello stream11...\n');
    // ws.write(new Buffer('hello stream buffer...'));
    ws.write('END.');
    ws.end();
}
/**
 * @description 讀取流文件
 */
function readStream (fileName, encode = 'utf-8') {
    let rs = fs.createReadStream(fileName, encode);
    rs.on('data', function(chunk) {
        console.log('DATA:')
        console.log(chunk)
    })

    rs.on('end', function() {
        console.log('Read DATA End:')
    })

    rs.on('error', function(err) {
        console.log('ERROR:')
        console.log(err)
    })
}
/**
 * @description 管道pipe
 */
function pipe (readFileName, writeFileName, encode = 'utf-8') {
    //pipe 把一個文件流和另一個文件流串起來,這樣源文件的所有數據就自動寫入到目標文件裏
    let rs = fs.createReadStream(readFileName, encode);
    let ws = fs.createWriteStream(writeFileName, encode);
    rs.pipe(ws)
}

module.exports = {
    pipe: pipe,
    writeStream: writeStream,
    readStream: readStream
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章