stream -- 文件读取,日志等解决方案

一,标准输入输出

process.stdin.pipe(process.stdout)
 
二,复制文件
const fs = require('fs')
const path = require('path')

const fileName1 = path.resolve(__dirname, 'data.txt')
const fileName2 = path.resolve(__dirname, 'data-bak.txt')

const readStream = fs.createReadStream(fileName1)
const writeStream = fs.createWriteStream(fileName2)

//从左边流入右边。stream流
readStream.pipe(writeStream)

readStream.on('data', chunk => {
    console.log(chunk.toString())
})
readStream.on('end', () => {
    console.log('copy done')
})

三,从硬盘IO,到网络IO的连接,先读取,再传入

const fileName1 = path.resolve(__dirname, 'data.txt')
const server = http.createServer((req, res) => {
    if (req.method === 'GET') {
        // 从硬盘IO,到网络IO的连接,先读取,再传入
        const readStream = fs.createReadStream(fileName1)
        readStream.pipe(res)
    }
})
server.listen(8000)

 

posted @ 2020-08-12 11:09  毛栗的demo  阅读(353)  评论(0)    收藏  举报