這篇文章主要介紹了node.js中的fs.writeFile方法使用說(shuō)明,本文介紹了fs.writeFile的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
			方法說(shuō)明:
			以異步的方式將data寫入文件,文件已存在的情況下,原內(nèi)容將被替換。
			語(yǔ)法:
			 
			復(fù)制代碼代碼如下:
			
		fs.writeFile(filename, data, [options], [callback(err)])
			 
			由于該方法屬于fs模塊,使用前需要引入fs模塊(var fs= require(“fs”) )
			接收參數(shù):
			filename      (String)            文件名稱
			data        (String | Buffer)    將要寫入的內(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)        文件讀寫權(quán)限,默認(rèn)值 438
			· flag            (String)            默認(rèn)值 ‘w'
			callback {Function}  回調(diào),傳遞一個(gè)異常參數(shù)err。
			例子:
			 
			復(fù)制代碼代碼如下:
			
		fs.writeFile('message.txt', 'Hello Node', function (err) {
		  if (err) throw err;
		  console.log('It/'s saved!');
		});
			 
			源碼:
			 
			復(fù)制代碼代碼如下:
			
		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);
		    }
		  });
		};