NodeJS

处理流

Stream

代码示例:

// server.js

const fs = require('fs')

// const rs = fs.createReadStream('./foo.txt', 'utf-8')  // 防止读取大文件时占用过多内存
//
// rs.on('data', (chunk) => {  // 多次反复少量叠加读取
//     console.log(chunk)
// })
//
// rs.on('end', () => {
//     console.log('end')
// })
//
// rs.on('error', (err) => {
//     console.log(err)
// })

const ws = fs.createWriteStream('./foo.txt', 'utf-8')

ws.write('aaaaaaaa')
ws.write('bbbbbbbb')
ws.write('cccccccc')

ws.end()
// server02.js

const fs = require('fs')

const readStream = fs.createReadStream('./foo.txt')

const writeStream = fs.createWriteStream('./bar.txt')

readStream.pipe(writeStream)  // 创建读写管道(会自动关闭管道)