首頁 >web前端 >js教程 >node.js中的fs.writeFile方法使用說明_node.js

node.js中的fs.writeFile方法使用說明_node.js

WBOY
WBOY原創
2016-05-16 16:27:171610瀏覽

方法說明:

以非同步的方式將data寫入文件,文件已存在的情況下,原內容將被取代。

文法:

複製程式碼 程式碼如下:

fs.writeFile(filename, data, [options], [callback(err)])

由於方法屬於fs模組,使用前需要引入fs模組(var fs= require(“fs”) )

接收參數:

filename      (String)            檔案名稱

data        (String | Buffer)    將要寫入的內容,且可讓字串 或 buffer資料。

options        (Object)           option陣列對象,並包含:

· encoding   (string)            可選值,且預設為 ‘utf8′,當data使buffer時,此值應為 ignored。

· mode         (Number)        以讀取和寫入權限,而預設值 438

· flag            (String)            預設值 ‘w'

callback {Function}  回調,傳遞一個異常參數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);
    }
  });
};
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn