第一种方式:管道
const fs = require('fs');
const rs = fs.createReadStream('./1.png');
const ws = fs.createWriteStream('./2.png');
rs.pipe(ws);
第二种方式:监听事件
const rs = fs.createReadStream('./1.png');
const ws = fs.createWriteStream('./3.png');
rs.on('data',function(chunk){
ws.write(chunk);
})
rs.on('end',function(){
console.log("结束");
ws.end();
})
显示读取百分比
'use strict'
const fs=require('fs');
//读文件的流
const rs = fs.createReadStream('./5.avi');
//写文件流
const ws = fs.createWriteStream('./6.avi');
//取文件相对应的stats对象
var stats= fs.statSync('./5.avi');
//文件大小
var count=stats.size;
//传输的文件传了多少
var data=0;
//chunk是一个buffer
rs.on('data',function(chunk){
data=data+chunk.length;
console.log("传输进度"+parseInt(data/count*100)+"%");
ws.write(chunk);
})
rs.on('end',function(){
console.log("读取结束");
ws.end();
})