什么是 Stream(流)?为什么说处理大文件必须用流?

Stream 是边读边处理的数据抽象,不用把整份数据一次性载入内存。四种类型:

大文件必须流式:一次 fs.readFile 会把整个文件读进内存,几百 MB 就容易 OOM;用流可以「边读边写」恒定内存。

// 文件复制:内存占用恒定
import { createReadStream, createWriteStream } from 'fs'
createReadStream('big.iso')
  .pipe(createWriteStream('copy.iso'))
  .on('finish', () => console.log('done'))

常用 pipe 串联多个流;pipeline(来自 stream/promises)更优雅,自动处理错误与清理。

同分类其他题目