老司机三级_天天干天天操天天爽_女人被爽到娇喘呻吟视频_久久国产精品99久久久大便 - 亚洲日本系列

Node學(xué)習(xí)第四課

  • • 發(fā)表于 8年前
  • • 作者 丁小柒
  • • 1773 人瀏覽
  • • 2 條評論
  • • 最后編輯時(shí)間 8年前
  • • 來自 [技 術(shù)]

原創(chuàng)聲明:本文為作者原創(chuàng),未經(jīng)允許不得轉(zhuǎn)載,經(jīng)授權(quán)轉(zhuǎn)載需注明作者和出處

在之前,我們講了有關(guān)使用fs模塊來讀寫文件,,如果讀取數(shù)據(jù)的速度快于寫入的數(shù)據(jù)的速度,那么就可能會(huì)造成數(shù)據(jù)的丟失,這時(shí)候我們就需要使用流來讀取。
使用ReadStream來讀取文件

var ReadStream=fs.createReadStream('/index.js');//創(chuàng)建文件讀取流
ReadStream.on('open',function(){
    console.log('開始讀取');    //開始讀取
})
ReadStream.on('data'.function(data){
    console.log(data);            //讀取數(shù)據(jù)
})
ReadStream.on('close',function(){
    console.log('結(jié)束');        //關(guān)閉流
})
ReadStream.on('error',function(){
    console.log('失敗')            //返回錯(cuò)誤
})

創(chuàng)建文件寫入流

var data = '丁小柒的node';

// 創(chuàng)建一個(gè)可以寫入的流,寫入到文件 output.txt 中
var writerStream = fs.createWriteStream('output.txt');

//以 utf8 編碼形式寫入數(shù)據(jù)
writerStream.write(data,'UTF8');

// 標(biāo)記文件末尾
writerStream.end();

// 處理流事件 --> data, end, and error
writerStream.on('finish', function() {
    console.log("寫入完成。");
});

writerStream.on('error', function(err){
   console.log('寫入出錯(cuò)‘);
});

console.log("程序執(zhí)行完畢");

如果文件需要暫停傳輸,然后再繼續(xù):

ReadStream.on('data'.function(data){
    console.log(data);            //讀取數(shù)據(jù)
})
ReadStream.pause();                //暫停data事件
ReadStream.resume();            //繼續(xù)data事件

管道流:
如果我們把文件比作裝水的桶,而水就是文件里的內(nèi)容,我們用一根管子(pipe)連接兩個(gè)桶使得水從一個(gè)桶流入另一個(gè)桶,這樣就慢慢的實(shí)現(xiàn)了大文件的復(fù)制過程,畢竟水往下流。

var readerStream = fs.createReadStream('input.txt');// 創(chuàng)建一個(gè)可讀流
var writerStream = fs.createWriteStream('output.txt');// 創(chuàng)建一個(gè)可寫流
readerStream.pipe(writerStream);// 管道讀寫操作,讀取 input.txt 文件內(nèi)容,并將內(nèi)容寫入到 output.txt 文件中
console.log("程序執(zhí)行完畢");
分享到:
2條評論
Ctrl+Enter
作者

丁小柒

丁小柒

APP:0 帖子:24 回復(fù):26 積分:1091

已加入社區(qū)[3228]天

長劍非是封木鞘,揮手再斬萬鬼雄

作者詳情》
Top