# 使用管道流复制大文件
# 流的方式读取文件:
//以流的方式分片读取
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)