node.js中的fs.writeFile方法使用說(shuō)明
方法說(shuō)明:
以異步的方式將data寫(xiě)入文件,文件已存在的情況下,原內(nèi)容將被替換。
語(yǔ)法:
fs.writeFile(filename, data, [options], [callback(err)])
由于該方法屬于fs模塊,使用前需要引入fs模塊(var fs= require(“fs”) )
接收參數(shù):
filename (String) 文件名稱
data (String | Buffer) 將要寫(xiě)入的內(nèi)容,可以使字符串 或 buffer數(shù)據(jù)。
options (Object) option數(shù)組對(duì)象,包含:
· encoding (string) 可選值,默認(rèn) ‘utf8′,當(dāng)data使buffer時(shí),該值應(yīng)該為 ignored。
· mode (Number) 文件讀寫(xiě)權(quán)限,默認(rèn)值 438
· flag (String) 默認(rèn)值 ‘w'
callback {Function} 回調(diào),傳遞一個(gè)異常參數(shù)err。
例子:
fs.writeFile('message.txt', 'Hello Node', function (err) {
if (err) throw err;
console.log('It\'s saved!');
});
源碼:
fs.writeFile = function(path, data, options, callback) {
var callback = maybeCallback(arguments[arguments.length - 1]);
if (util.isFunction(options) || !options) {
options = { encoding: 'utf8', mode: 438 /*=0666*/, flag: 'w' };
} else if (util.isString(options)) {
options = { encoding: options, mode: 438, flag: 'w' };
} else if (!util.isObject(options)) {
throw new TypeError('Bad arguments');
}
assertEncoding(options.encoding);
var flag = options.flag || 'w';
fs.open(path, options.flag || 'w', options.mode, function(openErr, fd) {
if (openErr) {
if (callback) callback(openErr);
} else {
var buffer = util.isBuffer(data) ? data : new Buffer('' + data,
options.encoding || 'utf8');
var position = /a/.test(flag) ? null : 0;
writeAll(fd, buffer, 0, buffer.length, position, callback);
}
});
};
- NodeJS學(xué)習(xí)筆記之FS文件模塊
- nodejs文件操作模塊FS(File System)常用函數(shù)簡(jiǎn)明總結(jié)
- node.js中的fs.writeFileSync方法使用說(shuō)明
- node.js中的fs.readFileSync方法使用說(shuō)明
- node.js中的fs.readFile方法使用說(shuō)明
- node.js中的fs.readdirSync方法使用說(shuō)明
- 詳解Nodejs 通過(guò) fs.createWriteStream 保存文件
- Nodejs讀取文件時(shí)相對(duì)路徑的正確寫(xiě)法(使用fs模塊)
- node.js中的fs.close方法使用說(shuō)明
- Node.js學(xué)習(xí)之內(nèi)置模塊fs用法示例
相關(guān)文章
Node.js重新刷新session過(guò)期時(shí)間的方法
在Node.js中,我們通常使用express-session這個(gè)包來(lái)使用和管理session,保存服務(wù)端和客戶端瀏覽器之間的會(huì)話狀態(tài)。那如何才能實(shí)現(xiàn)當(dāng)用戶刷新當(dāng)前頁(yè)面或者點(diǎn)擊頁(yè)面上的按鈕時(shí)重新刷新session的過(guò)期時(shí)間呢,接下來(lái)通過(guò)本文一起學(xué)習(xí)吧2016-02-02Egret引擎開(kāi)發(fā)指南之創(chuàng)建項(xiàng)目
Egret Engine(白鷺引擎)是一款使用TypeScript語(yǔ)言構(gòu)建的開(kāi)源免費(fèi)的移動(dòng)游戲引擎。白鷺引擎的核心定位是開(kāi)放,高效,優(yōu)雅。通過(guò)它,你可以快速地創(chuàng)建HTML5類型的移動(dòng)游戲,也可以將游戲項(xiàng)目編譯輸出成為目標(biāo)移動(dòng)平臺(tái)的原生游戲應(yīng)用。2014-09-09Node.js+jade抓取博客所有文章生成靜態(tài)html文件的實(shí)例
下面小編就為大家?guī)?lái)一篇Node.js+jade抓取博客所有文章生成靜態(tài)html文件的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09使用NVM實(shí)現(xiàn)不同nodejs版本的自由切換
在工作中,我們可能需要同時(shí)進(jìn)行多個(gè)不同NodeJS版本的項(xiàng)目開(kāi)發(fā),這種情況下,對(duì)于維護(hù)多個(gè)版本的node將會(huì)是一件非常麻煩的事情,NVM就是為解決這個(gè)問(wèn)題而產(chǎn)生的,本文給出了下載、安裝及使用方法,需要的朋友可以參考下2024-02-02electron demo項(xiàng)目npm install安裝失敗的解決方法
下面小編就為大家分享一篇electron demo項(xiàng)目npm install安裝失敗的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-02-02NodeJs的fs讀寫(xiě)刪除移動(dòng)監(jiān)聽(tīng)
這篇文章主要介紹了NodeJs的fs讀寫(xiě)刪除移動(dòng)監(jiān)聽(tīng),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-04-04使用Nodejs開(kāi)發(fā)微信公眾號(hào)后臺(tái)服務(wù)實(shí)例
這篇文章主要介紹了使用Nodejs開(kāi)發(fā)微信公眾號(hào)后臺(tái)服務(wù)實(shí)例,在這個(gè)實(shí)例中,主要使用到了express, wechat, mongodb, monk等模塊,需要的朋友可以參考下2014-09-09node.js實(shí)現(xiàn)回調(diào)的方法示例
這篇文章主要介紹了node.js實(shí)現(xiàn)回調(diào)的方法,結(jié)合實(shí)例形式分析了node.js實(shí)現(xiàn)向回調(diào)函數(shù)傳遞參數(shù)、閉包的使用及鏈?zhǔn)交卣{(diào)相關(guān)操作技巧,需要的朋友可以參考下2017-03-03