真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Node.js怎么使用流實現(xiàn)邊讀邊寫功能

這篇“Node.js怎么使用流實現(xiàn)邊讀邊寫功能”文章的知識點大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Node.js怎么使用流實現(xiàn)邊讀邊寫功能”文章吧。

成都創(chuàng)新互聯(lián)是一家專業(yè)提供右玉企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計制作、成都網(wǎng)站建設(shè)、html5、小程序制作等業(yè)務(wù)。10年已為右玉眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進行中。

具體代碼如下所示:

//10個數(shù) 10個字節(jié),每次讀4b,寫1b
let fs=require("fs");
function pipe(source,target) {
  //先創(chuàng)建可讀流,再創(chuàng)建可寫流
  //先讀一次,rs.on(data)
  //將讀到的類容寫入目標中 ,返回布爾值,如果是ture,繼續(xù)寫,默認情況應(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個數(shù) 10個字節(jié),每次讀4b,寫1b
let fs=require("fs");
function pipe(source,target) {
  let rs=fs.createReadStream(source,{highWaterMark:4});
  let ws=fs.createWriteStream(target,{highWaterMark:1});
  //可讀流到可寫流,異步操作,可以保證內(nèi)存不會被淹沒,讀一點,寫一點
  // 如果想看文件類容,使用readFile

  rs.pipe(ws);
}
pipe('./1.txt','./4.txt')

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

以上就是關(guān)于“Node.js怎么使用流實現(xiàn)邊讀邊寫功能”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關(guān)的知識內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


網(wǎng)站欄目:Node.js怎么使用流實現(xiàn)邊讀邊寫功能
分享路徑:http://weahome.cn/article/jggoog.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部