一、使用同步方式实现文件copy
//同步读取和写入文件
var fs=require('fs');
var path=require('path');
var file1=path.resolve('/test1/one.txt');
var file2=path.resolve('/test1/one_sync.txt');
var source=fs.readFileSync(file1);
fs.writeFileSync(file2,source);
console.log('copy文件成功');
二、异步方式,分段操作文件,实现文件copy,并控制读取流速度
//读取流、写入流实现赋值
var fs=require('fs');
var path=require('path');
var file1=path.resolve('/test1/one.txt');
var file2=path.resolve('/test1/one_copy2.txt');
//创建读取流
var readable=fs.createReadStream(file1,{
highWaterMark:6
});
//创建写入流
var writeable=fs.createWriteStream(file2);
readable.on('data',function(chunk){
console.log('当前读取内容:'+chunk.toString());
//从读取流读取内容,添加到写入流
writeable.write(chunk);
});
readable.on('end',()=>{
console.log('读取文件结束');
//标记写入文件结束
writeable.end();
});
writeable.on('finish',()=>{
console.log('--》写入文件结束');
});
Steam流实例三
Steam流实例二