Node.js的Stream被称为「流」,特别适合读写超大的文件
首先引入需要的模块 (砸瓦鲁多)
const fs = require('fs');
const path = require('path');
创建输入「流」(读取「流」)
// 第一步: 设定读取的文件位置, 即当前代码所处的文件
const rs = fs.createReadStream(__filename);
- "吸气冲承" (设定输入)
创建输出「流」(写入「流」)
- 欧拉吉良吉影(设定输出)
// 第二步: 设定输出的文件位置
const ws = fs.createWriteStream(path.join(__dirname, 'result.js'));
把 读取「流」 和写入「流」对接到一起
// 第三步: 将读取的文件(即当前代码所处的文件, 输出到result.js)
rs.pipe(ws)
- 时间开始流动
- 执行完成
原版视频 https://www.bilibili.com/bangumi/play/ep251366
时间轴: 8:00到9:00
完整代码
const fs = require('fs');
const path = require('path');
// 第一步: 设定读取的文件位置, 即当前代码所处的文件
const rs = fs.createReadStream(__filename);
// 第二步: 设定输出的文件位置
const ws = fs.createWriteStream(path.join(__dirname, 'result.js'));
// 第三步: 将读取的文件(即当前代码所处的文件, 输出到result.js)
rs.pipe(ws)
代码执行效果(拷贝文件)
小结:
Stream在拷贝大文件的过程中,是非常好用的, 可以让我们以1M内存, 轻松高效的的拷贝500M的文件!