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 相关文章推荐
Convert Seconds To Hours
Jun 16 Javascript
基于jquery的direction图片渐变动画效果
May 24 Javascript
ExtJs中简单的登录界面制作方法
Aug 19 Javascript
让图片跳跃起来  javascript图片轮播特效
Feb 16 Javascript
简单实现IONIC购物车功能
Jan 10 Javascript
JavaScript 过滤关键字
Mar 20 Javascript
knockoutjs模板实现树形结构列表
Jul 31 Javascript
vue 项目常用加载器及配置详解
Jan 22 Javascript
webpack优化的深入理解
Dec 10 Javascript
javascript中undefined的本质解析
Jul 31 Javascript
Vue 中 a标签上href无法跳转的解决方式
Nov 12 Javascript
vue-router懒加载的3种方式汇总
Feb 28 Vue.js
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 GUID生成函数和类
2014/03/10 PHP
利用php-cli和任务计划实现刷新token功能的方法
2017/05/03 PHP
推荐10个2014年最佳的jQuery视频插件
2014/11/12 Javascript
IE6浏览器中window.location.href无效的解决方法
2014/11/20 Javascript
轻松创建nodejs服务器(4):路由
2014/12/18 NodeJs
jQuery实现在下拉列表选择时获取json数据的方法
2015/04/16 Javascript
animate 实现滑动切换效果【实例代码】
2016/05/05 Javascript
JS弹性运动实现方法分析
2016/12/15 Javascript
[Bootstrap-插件使用]Jcrop+fileinput组合实现头像上传功能实例代码
2016/12/20 Javascript
js实现二级导航功能
2017/03/03 Javascript
基于js 本地存储(详解)
2017/08/16 Javascript
vue组件父子间通信详解(三)
2017/11/07 Javascript
基于jquery trigger函数无法触发a标签的两种解决方法
2018/01/06 jQuery
尝试自己动手用react来写一个分页组件(小结)
2018/02/09 Javascript
Node.js readline模块与util模块的使用
2018/03/01 Javascript
vue中的watch监听数据变化及watch中各属性的详解
2018/09/11 Javascript
js实现下拉框二级联动
2018/12/04 Javascript
JS Web Flex弹性盒子模型代码实例
2020/03/10 Javascript
Vue3新特性之在Composition API中使用CSS Modules
2020/07/13 Javascript
Vue使用Proxy代理后仍无法生效的解决
2020/11/13 Javascript
typescript编写微信小程序创建项目的方法
2021/01/29 Javascript
[01:19]DOTA2城市挑战赛报名开始 开启你的城市传奇
2018/03/23 DOTA
[42:24]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第三场 11.27
2020/12/01 DOTA
Python对多属性的重复数据去重实例
2018/04/18 Python
Python基于FTP模块实现ftp文件上传操作示例
2018/04/23 Python
Django1.9 加载通过ImageField上传的图片方法
2018/05/25 Python
python中pyqtgraph知识点总结
2021/01/26 Python
前端实现打印图像功能
2019/08/27 HTML / CSS
AmazeUI 点击元素显示全屏的实现
2020/08/25 HTML / CSS
巴西最好的男鞋:Rafarillo
2018/05/25 全球购物
英国女性运动服品牌:Sweaty Betty
2018/11/08 全球购物
年终自我鉴定
2013/10/09 职场文书
市三好学生主要事迹
2014/01/28 职场文书
2014红色之旅心得体会
2014/10/07 职场文书
2019年冬至:天冷暖人心的问候祝福语大全
2019/12/20 职场文书
PHP解决高并发问题
2021/04/01 PHP