# 使用管道流复制大文件

# 流的方式读取文件:

//以流的方式分片读取
const fs = require('fs');
//创建一个可读流
const readStream = fs.createReadStream('./input.txt');

let count = 0;
let str = '';

readStream.on('data',data=>{//监听读取过程
  str+=data;
  count++;
})

readStream.on('end',data=>{//监听读取完毕
  console.log(str);
  console.log(count);
})

readStream.on('error',err=>{//监听错误
  console.log(err);
})

# 流的方式写入文件:

const fs = require('fs');

const data = '我是从数据库获取的数据,我要保存起来'
//创建一个可写流
const writeStream = fs.createWriteStream('./output.txt');

writeStream.write(data);

writeStream.end();//标记写入完成

writeStream.on('finish',data=>{//监听写入完成
  console.log('写入完成:',data)
})

# 使用管道流的方式复制大文件:

我们把文件比作装水的桶,而水是文件里的内容,我们用一根管子(pipe)连接两个桶使得水从一个桶流入另一个桶,这样就慢慢的实现了大文件的复制过程。

const fs = require('fs');
//创建一个可读流
const readStream = fs.createReadStream('./input.txt');
//创建一个可写流
const writeStream = fs.createWriteStream('./output.txt');

//管道读写操作
//读取input.txt文件内容,并将内容写入到output.txt文件中
readStream.pipe(writeStream)
Last Updated: 8/1/2021, 1:43:20 PM