这篇文章主要介绍了节点。射流研究…中的fs.writeFile方法使用说明,本文介绍了fs.writeFile的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下
方法说明:
以异步的方式将数据写入文件,文件已存在的情况下,原内容将被替换。
语法:
复制代码代码如下:
fs.writeFile(文件名,数据,[选项],[回调(错误)])
由于该方法属于满量程模块,使用前需要引入满量程模块(var fs=require("fs "))
接收参数:
文件名(字符串)文件名称
数据(字符串|缓冲区)将要写入的内容,可以使字符串或缓冲器数据。
选项(对象)选项数组对象,包含:
编码(字符串)可选值,默认utf8,当数据使缓冲器时,该值应该为忽略。
模式(数字)文件读写权限,默认值438
标志(字符串)默认值w
回调{函数}回调,传递一个异常参数呃。
例子:
复制代码代码如下:
fs.writeFile(message.txt , Hello Node ,function (err) {
if(err)throw err;
console.log(保存了!);
});
源码:
复制代码代码如下:
fs.writeFile=function(路径、数据、选项、回调){
var callback=maybe callback(arguments[参数。长度-1]);
if (util.isFunction(options) ||!选项){
选项={编码: utf8 ,模式:438 /*=0666*/,标志: w };
} else if(util。是字符串(选项)){
选项={编码:选项,模式:438,标志: w };
} else if(!util.isObject(选项)){
引发新的TypeError(“错误的参数");
}
断言编码(选项。编码);
var flag=options.flag | | w
fs.open(path,options.flag || w ,options.mode,function(openErr,fd) {
if (openErr) {
如果(回调)回调(openErr);
}否则{
var buffer=util.isBuffer(data)?数据:新缓冲区(数据,
选项。编码| | utf8 );
var position=/a/.测试(标志)?null:0;
writeAll(fd,buffer,0,buffer.length,position,callback);
}
});
};