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 相关文章推荐
jQuery 操作XML入门
Dec 25 Javascript
在模板页面的js使用办法
Apr 01 Javascript
firefox事件处理之自动查找event的函数(用于onclick=foo())
Aug 05 Javascript
from表单多个按钮提交用onclick跳转不同action
Apr 24 Javascript
jquery css 设置table的奇偶行背景色示例
Jun 03 Javascript
JS使用ajax方法获取指定url的head信息中指定字段值的方法
Mar 24 Javascript
Javascript 高性能之递归,迭代,查表法详解及实例
Jan 08 Javascript
jQuery代码优化方法总结
Jan 29 jQuery
node.js实现带进度条的多文件上传
Mar 27 Javascript
layui使用button按钮 点击出现弹层 弹层中加载表单的实例
Sep 04 Javascript
jQuery实现轮播图源码
Oct 23 jQuery
原生js实现滑块区间组件
Jan 20 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
node.js中的http.response.setHeader方法使用说明
Dec 14 #Javascript
node.js中的http.response.removeHeader方法使用说明
Dec 14 #Javascript
You might like
php显示时间常用方法小结
2015/06/05 PHP
PHP实现链式操作的三种方法详解
2017/11/16 PHP
PHP排序算法之归并排序(Merging Sort)实例详解
2018/04/21 PHP
asp.net和php的区别点总结
2019/10/10 PHP
用Div仿showModalDialog模式菜单的效果的代码
2007/03/05 Javascript
科讯商业版中用到的ajax空间与分页函数
2007/09/02 Javascript
JavaScript Konami Code 实现代码
2009/07/29 Javascript
JS基于面向对象实现的拖拽库实例
2015/09/24 Javascript
JS中使用textPath实现线条上的文字
2017/12/25 Javascript
实例讲解Vue.js中router传参
2018/04/22 Javascript
浅谈vue项目可以从哪些方面进行优化
2018/05/05 Javascript
vue 项目@change多个参数传值多个事件的操作
2021/01/29 Vue.js
[00:35]DOTA2上海特级锦标赛 Newbee战队宣传片
2016/03/03 DOTA
Python3基础之基本数据类型概述
2014/08/13 Python
在Linux上安装Python的Flask框架和创建第一个app实例的教程
2015/03/30 Python
Python request设置HTTPS代理代码解析
2018/02/12 Python
python使用sqlite3时游标使用方法
2018/03/13 Python
Python+OpenCV实现车牌字符分割和识别
2018/03/31 Python
python读文件保存到字典,修改字典并写入新文件的实例
2018/04/23 Python
Pycharm导入Python包,模块的图文教程
2018/06/13 Python
Python Socket编程之多线程聊天室
2018/07/28 Python
Python 移动光标位置的方法
2019/01/20 Python
python3+PyQt5 实现Rich文本的行编辑方法
2019/06/17 Python
扩展Django admin的list_filter()可使用范围方法
2019/08/21 Python
python实现替换word中的关键文字(使用通配符)
2020/02/13 Python
css3与html5实现响应式导航菜单(导航栏)效果分享
2014/02/12 HTML / CSS
解锁canvas导出图片跨域的N种姿势小结
2019/01/24 HTML / CSS
挪威户外活动服装和装备购物网站:Bergfreunde挪威
2016/10/20 全球购物
美国打印机墨水和碳粉购物网站:QuikShip Toner
2018/08/29 全球购物
莫斯科高科技在线商店:KremlinStore
2019/03/13 全球购物
中文专业毕业生自荐书范文
2014/01/04 职场文书
提拔干部考察材料
2014/05/26 职场文书
出售房屋委托书范本
2014/09/24 职场文书
英语感谢信范文
2015/01/20 职场文书
幼儿园中班个人总结
2015/02/28 职场文书
合作意向书范本
2019/04/17 职场文书