用JOJO打开Node.js的Stream

2019-12-11 09:45:09 浏览数 (1)

Node.js的Stream被称为「流」,特别适合读写超大的文件

首先引入需要的模块 (砸瓦鲁多)

代码语言:javascript复制
const fs = require('fs');
const path = require('path');

创建输入「流」(读取「流」)

代码语言:javascript复制
// 第一步: 设定读取的文件位置, 即当前代码所处的文件
const rs = fs.createReadStream(__filename);
  • "吸气冲承" (设定输入)

创建输出「流」(写入「流」)

  • 欧拉吉良吉影(设定输出)
代码语言:javascript复制
// 第二步: 设定输出的文件位置
const ws = fs.createWriteStream(path.join(__dirname, 'result.js'));

读取「流」写入「流」对接到一起

代码语言:javascript复制
// 第三步: 将读取的文件(即当前代码所处的文件, 输出到result.js)
rs.pipe(ws)
  • 时间开始流动

  • 执行完成

原版视频 https://www.bilibili.com/bangumi/play/ep251366 时间轴: 8:00到9:00

完整代码

代码语言:javascript复制
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的文件!

0 人点赞