一、使用同步方式实现文件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流实例二
Stream流简介一