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)
浙公网安备 33010602011771号