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


Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐