• 技术文章 >web前端 >js教程

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

    2016-05-16 16:27:17原创697
    方法说明:

    以异步的方式将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核实处理。
    上一篇:node.js中的buffer.fill方法使用说明_node.js 下一篇:node.js中的buffer.length方法使用说明_node.js
    20期PHP线上班

    相关文章推荐

    精选22门好课,价值3725元,开通VIP免费学习!• 项目过大怎么办?如何合理拆分Angular项目?• 怎么使用pkg将Node.js项目打包为可执行文件?• 深入理解JavaScript内存管理和GC算法• 一文掌握JavaScript树结构深度优先算法• 聊聊Node.js中的多进程和多线程
    1/1

    PHP中文网