Node.Js Stream(流)-(四)文件copy实例

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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值