国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 語(yǔ)言 > JavaScript > 正文

Node.js 使用流實(shí)現(xiàn)讀寫同步邊讀邊寫功能

2024-05-06 15:26:56
字體:
供稿:網(wǎng)友

廢話不多說了,直接給大家貼代碼了,具體代碼如下所示:

//10個(gè)數(shù) 10個(gè)字節(jié),每次讀4b,寫1blet fs=require("fs");function pipe(source,target) {  //先創(chuàng)建可讀流,再創(chuàng)建可寫流  //先讀一次,rs.on(data)  //將讀到的類容寫入目標(biāo)中 ,返回布爾值,如果是ture,繼續(xù)寫,默認(rèn)情況應(yīng)該是false,暫停讀取  //ws.on('drain'),抽干后,回復(fù)讀取  //監(jiān)聽讀取文件完畢后,關(guān)閉讀取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 () {    //每次寫的內(nèi)存干了就恢復(fù)讀取    console.log("111");    rs.resume() //恢復(fù)讀取  });  rs.on('end',function (chunk) {    ws.end();  })}pipe('./1.txt','./3.txt')

上面這種寫法比較繁瑣,大家看完后,忘記就行

node.js提供給我們內(nèi)置方法pipe

//10個(gè)數(shù) 10個(gè)字節(jié),每次讀4b,寫1blet fs=require("fs");function pipe(source,target) {  let rs=fs.createReadStream(source,{highWaterMark:4});  let ws=fs.createWriteStream(target,{highWaterMark:1});  //可讀流到可寫流,異步操作,可以保證內(nèi)存不會(huì)被淹沒,讀一點(diǎn),寫一點(diǎn)  // 如果想看文件類容,使用readFile  rs.pipe(ws);}pipe('./1.txt','./4.txt')

直接將讀取的流操作到寫入流中,還是異步操作

總結(jié)

以上所述是小編給大家介紹的Node.js 使用流實(shí)現(xiàn)讀寫同步邊讀邊寫功能,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)錯(cuò)新站長(zhǎng)站網(wǎng)站的支持!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 乃东县| 团风县| 昆山市| 高唐县| 吉隆县| 二连浩特市| 沾益县| 吉首市| 项城市| 富阳市| 光泽县| 德化县| 上高县| 道孚县| 阿拉善右旗| 叶城县| 澳门| 屏东县| 信阳市| 杨浦区| 长阳| 广州市| 竹北市| 威海市| 宝坻区| 宜宾县| 武乡县| 晋中市| 阿克| 沂水县| 崇明县| 莒南县| 休宁县| 桐城市| 兰西县| 棋牌| 余干县| 枝江市| 安康市| 长治县| 凤台县|