您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

node.js实现读写同步功能

2024/6/27 12:46:53发布32次查看
//10个数 10个字节,每次读4b,写1b let fs=require(fs); function pipe(source,target) {   //先创建可读流,再创建可写流   //先读一次,rs.on(data)   //将读到的类容写入目标中 ,返回布尔值,如果是ture,继续写,默认情况应该是false,暂停读取   //ws.on('drain'),抽干后,回复读取   //监听读取文件完毕后,关闭读取rs.on('end')   let rs=fs.createreadstream(source,{highwatermark:4});   let ws=fs.createwritestream(target,{highwatermark:1});   rs.on('data',function (chunk) { //chunk是buffer类型     if(ws.write(chunk)===false){       //写不下,停止读取       rs.pause()     }   });   ws.on('drain',function () {     //每次写的内存干了就恢复读取     console.log(111);     rs.resume() //恢复读取   });   rs.on('end',function (chunk) {     ws.end();   }) } pipe('./1.txt','./3.txt')
上面这种写法比较繁琐,大家看完后,忘记就行
node.js提供给我们内置方法pipe
//10个数 10个字节,每次读4b,写1b let fs=require(fs); function pipe(source,target) {   let rs=fs.createreadstream(source,{highwatermark:4});   let ws=fs.createwritestream(target,{highwatermark:1});   //可读流到可写流,异步操作,可以保证内存不会被淹没,读一点,写一点   // 如果想看文件类容,使用readfile   rs.pipe(ws); } pipe('./1.txt','./4.txt')
直接将读取的流操作到写入流中,还是异步操作
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
jsonbuddy的安装步奏详解
vuejs怎么操作页面区域化
以上就是node.js实现读写同步功能的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product