本篇文章帶大家聊聊fs文件系統(tǒng)模塊,介紹一下node中的文件讀取寫入操作,希望對(duì)大家有所幫助!
fs文件系統(tǒng)模塊
什么是fs文件系統(tǒng)模塊
fs模塊是node.js官方提供的、操作文件的模塊。通過fs模塊可以實(shí)現(xiàn)對(duì)文件的讀取以及寫入操作。【相關(guān)教程推薦:nodejs視頻教程、編程教學(xué)】
例如:
- fs.readFile():用于讀取指定文件的文件內(nèi)容
- fs.writeFile():用于向指定的文件寫入內(nèi)容
引入fs模塊:
const fs = require('fs');
讀取指定文件的內(nèi)容
- fs.readFile()語(yǔ)法:
fs.readFile(path[,options],callback)
- 參數(shù):
- path:必選參數(shù),字符串格式,表示文件的路徑
- options:可選 參數(shù),表示以什么編碼格式來讀取文件
- callback:必選參數(shù):文件讀取完成之后,通過這個(gè)回調(diào)函數(shù)返回讀取的結(jié)果(失?。菏⌒畔?;成功:讀取的結(jié)果)
栗子:
首先我先創(chuàng)建一個(gè)名為test.txt
的文檔,并且里面的內(nèi)容是: 12341234
然后我們使用node.js里面的fs模塊來讀取文件:
// 引入fs模塊 const fs = require('fs'); // 讀取文件 fs.readFile('./test.txt','utf-8',function(err,data){ console.log(err);// null console.log(data);// 12341234 })
我們可以看到在讀取文件的時(shí)候,后面回調(diào)函數(shù)里面有兩個(gè)參數(shù):
-
第一個(gè)參數(shù)代表著讀取失敗的參數(shù),此時(shí)我們這里讀取成功,所以結(jié)果為null
-
第二個(gè)參數(shù)代表著讀取成功之后的結(jié)果,這里我們讀取到文件的內(nèi)容,所以輸出的就是文件的內(nèi)容。
我們可以根據(jù)讀取文件回調(diào)函數(shù)的第一個(gè)參數(shù)返回的值來判斷文件是否讀取成功:如果返回的null,代表文件讀取成功;否則讀取失敗。
向指定文件寫入內(nèi)容
- fs.writeFile()語(yǔ)法:
fs.writeFile(file,data[,options],callback);
- 參數(shù):
- 參數(shù)1:必選參數(shù),字符串格式,表示文件的路徑
- 參數(shù)2:必選參數(shù),表示寫入的內(nèi)容
- 參數(shù)3:可選 參數(shù),表示以什么編碼格式寫入內(nèi)容
- 參數(shù)4:必選參數(shù),文件寫入后的回調(diào)函數(shù)
栗子:
const fs = require('fs'); fs.writeFile('text.txt', '海綿寶寶', 'utf-8', function(err) { console.log(err);// null })
這段代碼執(zhí)行完畢之后,輸出一個(gè)null
,那是不是就表示已經(jīng)寫入成功了呢?
是的,在同級(jí)文件夾下,我們可以看到生成了一個(gè)新的text.txt
文件,打開發(fā)現(xiàn)正式我們剛才寫入的海綿寶寶
。
那么我們要是再執(zhí)行一遍代碼,只是寫入的內(nèi)容發(fā)生改變,那么結(jié)果是什么呢?
fs.writeFile('text.txt', '派大星', 'utf-8', function(err) { console.log(err);// null })
這個(gè)時(shí)候我們?cè)俅蜷_text.txt
文件,發(fā)現(xiàn)里面的內(nèi)容變成了派大星
,也就是說使用wirteFile()
會(huì)覆蓋掉文件原來的內(nèi)容。
此時(shí),我們同樣可以根據(jù)寫入文件回調(diào)函數(shù)的參數(shù)返回的值來判斷文件是否寫入成功:如果返回的null,代表文件寫入成功;否則寫入失敗。
結(jié)尾
通過node.js
的fs模塊,我們就可以實(shí)現(xiàn)對(duì)文件的讀取以及寫入了,本文章為我學(xué)習(xí)node.js的學(xué)習(xí)筆記,有不足之處望大佬們指點(diǎn)。