本文實例講述了Node.js學(xué)習(xí)之內(nèi)置模塊fs用法。分享給大家供大家參考,具體如下:
創(chuàng)新互聯(lián)秉承實現(xiàn)全網(wǎng)價值營銷的理念,以專業(yè)定制企業(yè)官網(wǎng),成都做網(wǎng)站、成都網(wǎng)站建設(shè),微信小程序開發(fā),網(wǎng)頁設(shè)計制作,手機網(wǎng)站制作,營銷型網(wǎng)站幫助傳統(tǒng)企業(yè)實現(xiàn)“互聯(lián)網(wǎng)+”轉(zhuǎn)型升級專業(yè)定制企業(yè)官網(wǎng),公司注重人才、技術(shù)和管理,匯聚了一批優(yōu)秀的互聯(lián)網(wǎng)技術(shù)人才,對客戶都以感恩的心態(tài)奉獻自己的專業(yè)和所長。
IDE為VSCode
.js內(nèi)置的fs模塊就是文件系統(tǒng)模塊,負(fù)責(zé)讀寫文件
'use strict' var fs = require('fs'); //異步讀取文件(文本)編碼格式指定為utf-8 fs.readFile('sample.txt','utf-8',function(error,data){ if(error){ console.log('error'); }else{ console.log(data); } }); //異步讀取二進制文件返回的data為buffer fs.readFile('sample.png',function(err,data){ if(err){ console.log('error') }else{ console.log(data.length+'bytes'); } }); //同步讀取(可以加try),異步不能try,并非立即執(zhí)行不能捕捉 try { var data = fs.readFileSync('sample.png'); console.log(data.length+'bytes'); } catch (error) { } //再來看看寫入文件往一個文本中寫,該文本的格式要是utf-8,不寫編碼格式默認(rèn)也是utf-8 fs.writeFile('sample.txt','這是我要寫入的文本','utf-8',function(err,data){ if(err){ console.log('error'); }else{ console.log('success'); } }) //同步無回調(diào),略過 //查看文件的信息使用stat()比如,也可以使用同步,不一一演示 fs.stat('sample.txt',function(err,stat){ if(err){ console.log('error') }else{ //創(chuàng)建時間 console.log(stat.birthtime); //修改時間 console.log(stat.mtime); console.log(stat.size); console.log(stat.isFile); } })
'use strict' var fs = require('fs'); //創(chuàng)建一個文件讀取流,返回一個ReadStream對象,可以對對象進行事件監(jiān)聽, //data事件表示流的數(shù)據(jù)已經(jīng)可以讀取了,一般會執(zhí)行多次,end事件表示這個流已經(jīng)到末尾了,沒有數(shù)據(jù)可以讀取了, //error事件表示出錯了,chunk是文本流的一部分?jǐn)?shù)據(jù) var rs = fs.createReadStream('sample.txt','utf-8'); rs.on('data',function(chunk){ console.log('data:') console.log(chunk); }); rs.on('end',function(){ console.log('end'); }); rs.on('error',function(error){ console.log('error'); }); //寫入流(原來文本文件有內(nèi)容,會覆蓋掉) var is = fs.createWriteStream('copy.txt','utf-8'); is.write('我寫點東西'); is.write('我再寫點東西'); is.end; //我們用pipe()把一個文件流和另一個文件流串起來,這樣源文件的所有數(shù)據(jù)就自動寫入到目標(biāo)文件里了,所以,這實際上是一個復(fù)制文件的程序: var rs = fs.createReadStream('sample.txt','utf-8'); var is = fs.createWriteStream('copy.txt','utf-8'); rs.pipe(is); //默認(rèn)情況下,當(dāng)Readable流的數(shù)據(jù)讀取完畢,end事件觸發(fā)后,將自動關(guān)閉Writable流。如果我們不希望自動關(guān)閉Writable流,需要傳入?yún)?shù)如下 // rs.pipe(is,{end:false});
希望本文所述對大家node.js程序設(shè)計有所幫助。