首页 > 语言 > JavaScript > 正文

node.js中的fs.writeFileSync方法使用说明

2024-05-06 16:12:03
字体:
来源:转载
供稿:网友
这篇文章主要介绍了node.js中的fs.writeFileSync方法使用说明,本文介绍了fs.writeFileSync的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下
 
 

方法说明:

同步版的fs.writeFile()  。

语法:

 

复制代码代码如下:

fs.writeFileSync(filename, data, [options])

 

由于该方法属于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'

例子:

 

复制代码代码如下:

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);
  }
};

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选