引入文件模塊
let fs = require('fs')
所有的文價(jià)操作都有同步與異步的分別,文件操作中辰企,默認(rèn)都是異步的
一祷愉、讀取文件
fs.readFile()
第一個(gè)參數(shù)座云,為要讀取的文件
第二個(gè)參數(shù)是一個(gè)回調(diào)函數(shù)白翻,接收兩個(gè)參數(shù):error失敗的回調(diào)脱盲,data成功后的回調(diào)
// 異步讀取文件時(shí)春霍,不再按照順序去執(zhí)行程序遥皂,其他代碼先執(zhí)行著逗堵,文件慢慢讀取秉氧,等到文件讀取完再輸出
fs.readFile('../data/hello.txt',function(error,data){
// 文件中存儲(chǔ)的默認(rèn)都是二進(jìn)制數(shù)據(jù) 0 1
// 這里默認(rèn)會(huì)轉(zhuǎn)成16進(jìn)制,需要通過toString轉(zhuǎn)為可認(rèn)識(shí)的字符
console.log(data.toString())
})
二蜒秤、寫入文件
fs.writeFile()
四個(gè)參數(shù):
1汁咏、文件名稱亚斋,包括文件格式;
2攘滩、需要寫入文件的內(nèi)容帅刊;
3、可選漂问,配置對(duì)象{flag:"a"或"w"} flag屬性: a 追加寫入 w 正常寫入(默認(rèn)值)赖瞒;
4、寫入時(shí)的錯(cuò)誤信息蚤假;
注意:當(dāng)寫入的內(nèi)容已經(jīng)存在時(shí)栏饮,執(zhí)行寫入文件操作時(shí)會(huì)覆蓋掉原有的文件。
fs.writeFile('hello.txt','hello node!',{flag:'a'},function(err){
if(err){
return console.log('寫入失斄籽觥袍嬉!')
}
console.log('寫入成功!')
})