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


Posted in Javascript onDecember 14, 2014

方法说明:

以异步的方式将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);

    }

  });

};
Javascript 相关文章推荐
window.addeventjs事件驱动函数集合addEvent等
Feb 19 Javascript
jquery+json实现的搜索加分页效果
Mar 31 Javascript
用javascript作一个通用向导说明
Aug 30 Javascript
JQuery+Ajax无刷新分页的实例代码
Feb 08 Javascript
浅析jQuery中调用ajax方法时在不同浏览器中遇到的问题
Jun 11 Javascript
jQuery鼠标事件汇总
Aug 30 Javascript
JS动态插入并立即执行回调函数的方法
Apr 21 Javascript
js改变透明度实现轮播图的算法
Aug 24 Javascript
vue.js中$watch的用法示例
Oct 04 Javascript
bootstrap提示标签、提示框实现代码
Dec 28 Javascript
详解基于Koa2开发微信二维码扫码支付相关流程
May 16 Javascript
防止Layui form表单重复提交的实现方法
Sep 10 Javascript
node.js中的fs.writeFileSync方法使用说明
Dec 14 #Javascript
node.js中的fs.writeFile方法使用说明
Dec 14 #Javascript
node.js中的http.response.addTrailers方法使用说明
Dec 14 #Javascript
node.js中的http.response.writeHead方法使用说明
Dec 14 #Javascript
node.js中的http.response.getHeader方法使用说明
Dec 14 #Javascript
node.js中的http.response.write方法使用说明
Dec 14 #Javascript
node.js中的http.response.end方法使用说明
Dec 14 #Javascript
You might like
PHP5 操作MySQL数据库基础代码
2009/09/29 PHP
JQuery 图片滚动轮播示例代码
2014/03/24 Javascript
javascript中Date()函数在各浏览器中的显示效果
2015/06/18 Javascript
jQuery技巧之让任何组件都支持类似DOM的事件管理
2016/04/05 Javascript
jQuery 循环遍历改变a标签的href(实例讲解)
2017/07/12 jQuery
vue对storejs获取的数据进行处理时遇到的几种问题小结
2018/03/20 Javascript
javascript深拷贝、浅拷贝和循环引用深入理解
2018/05/27 Javascript
如何解决vue2.0下IE浏览器白屏问题
2018/09/13 Javascript
服务端预渲染之Nuxt(使用篇)
2019/04/08 Javascript
解决vue+ element ui 表单验证有值但验证失败问题
2020/01/16 Javascript
ES6如何用一句代码实现函数的柯里化
2020/01/18 Javascript
JavaScript oncopy事件用法实例解析
2020/05/13 Javascript
使用npm命令提示: 'npm' 不是内部或外部命令,也不是可运行的程序的处理方法
2020/05/14 Javascript
layui实现显示数据表格、搜索和修改功能示例
2020/06/03 Javascript
如何在node环境实现“get数据解析”代码实例
2020/07/03 Javascript
Vue 实现创建全局组件,并且使用Vue.use() 载入方式
2020/08/11 Javascript
[03:40]DOTA2英雄梦之声_第01期_炼金术士
2014/06/23 DOTA
[04:52]2015国际邀请赛LGD战队晋级之路
2015/08/14 DOTA
[48:47]VGJ.S vs NB 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python中扩展包的安装方法详解
2017/06/14 Python
python 把文件中的每一行以数组的元素放入数组中的方法
2018/04/29 Python
pyqt5 实现 下拉菜单 + 打开文件的示例代码
2019/06/20 Python
python 获取sqlite3数据库的表名和表字段名的实例
2019/07/17 Python
Python实现密码薄文件读写操作
2019/12/16 Python
Python 窗体(tkinter)下拉列表框(Combobox)实例
2020/03/04 Python
Python过滤序列元素的方法
2020/07/31 Python
大学毕业生通用求职信
2013/09/28 职场文书
公司道歉信范文
2014/01/09 职场文书
大学生涯自我鉴定
2014/01/16 职场文书
建筑结构施工求职信
2014/07/11 职场文书
通信工程求职信
2014/07/16 职场文书
给学校的建议书400字
2015/09/14 职场文书
全家福照片寄语怎么写?
2019/04/02 职场文书
2019年行政人事个人工作总结范本!
2019/07/19 职场文书
纯CSS实现酷炫的霓虹灯效果
2021/04/13 HTML / CSS
使用redis生成唯一编号及原理示例详解
2021/09/15 Redis