node.jsのfs.writeFileSyncメソッドの使用方法の説明

1756 ワード

メソッドの説明:
同期版fs.writeFile()  .
構文:
 
  
fs.writeFileSync(filename, data, [options])

この方法はfsモジュールに属するため,使用前にfsモジュール(var fs=require(「fs」)を導入する必要がある.
受信パラメータ:
Filename(String)ファイル名
data(String|Buffer)が書き込む内容で、文字列やbufferデータを使用できます.
options(Object)option配列オブジェクト:
・encoding(string)オプション値で、デフォルトでは「utf 8」であり、dataがbufferを使用する場合、この値はignoredであるべきである.
・mode(Number)ファイル読み書き権限、デフォルト値438
・flag(String)デフォルト値‘w’
例:
 
  
fs.writeFileSync('message.txt', 'Hello Node');

ソース:
 
  
fs.writeFileSync = function(path, data, options) {
  if (!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';
  var fd = fs.openSync(path, flag, options.mode);
  if (!util.isBuffer(data)) {
    data = new Buffer('' + data, options.encoding || 'utf8');
  }
  var written = 0;
  var length = data.length;
  var position = /a/.test(flag) ? null : 0;
  try {
    while (written < length) {
      written += fs.writeSync(fd, data, written, length - written, position);
      position += written;
    }
  } finally {
    fs.closeSync(fd);
  }
};