node.js基于fs模块对系统文件及目录进行读写操作的方法详解


Posted in Javascript onNovember 10, 2017

本文实例讲述了node.js基于fs模块对系统文件及目录进行读写操作的方法。分享给大家供大家参考,具体如下:

如果要用这个模块,首先需要引入,fs已经属于node.js自带的模块,所以直接引入即可

var fs = require('fs');

1.读取文件readFile方法使用

fs.readFile(filename,[option],callback) 方法读取文件。

参数说明:

filename String 文件名
option Object
  encoding String |null default=null
  flag String default='r'
callback Function

// 设置编码格式
fs.readFile('./test.txt', 'utf-8', function(err, data) {
  // 读取文件失败/错误
  if (err) {
    throw err;
  }
  // 读取文件成功
  console.log('utf-8: ', data.toString());
});

2.写入文件writeFile方法使用

使用fs.writeFile(filename,data,[options],callback)写入内容到文件。

参数说明:

filename String 文件名
data String|buffer
option Object
  encoding String |nulldefault='utf-8'
  mode Number default=438(aka 0666 in Octal)
  flag Stringdefault='w'
callback Function

var fs = require('fs'); // 引入fs模块
// 写入文件内容(如果文件不存在会创建一个文件)
// 写入时会先清空文件
fs.writeFile('./test2.txt', 'test test', function(err) {
  if (err) {
    throw err;
  }
  console.log('Saved.');
  // 写入成功后读取测试
  fs.readFile('./test2.txt', 'utf-8', function(err, data) {
    if (err) {
      throw err;
    }
    console.log(data);
  });
});

因为默认flag='w'是写,会清空文件,想要追加,可以传递一个flag参数,如下。

flag传值,r代表读取文件,w代表写文件,a代表追加。

var fs = require('fs'); // 引入fs模块
// 写入文件内容(如果文件不存在会创建一个文件)
// 传递了追加参数 { 'flag': 'a' }
fs.writeFile('./test2.txt', 'test test', { 'flag': 'a' }, function(err) {
  if (err) {
    throw err;
  }
  console.log('Saved.');
  // 写入成功后读取测试
  fs.readFile('./test2.txt', 'utf-8', function(err, data) {
    if (err) {
      throw err;
    }
    console.log(data);
  });
});

3.创建目录mkdir使用

使用fs.mkdir(path,[mode],callback)创建目录,path是需要创建的目录,[mode]是目录的权限(默认是0777),callback是回调函数。

var fs = require('fs'); // 引入fs模块
// 创建 newdir 目录
fs.mkdir('./newdir', function(err) {
  if (err) {
    throw err;
  }
  console.log('make dir success.');
});

4.读取目录readdir

var fs = require('fs'); // 引入fs模块
fs.readdir('./newdir', function(err, files) {
  if (err) {
    throw err;
  }
  // files是一个数组
  // 每个元素是此目录下的文件或文件夹的名称
  console.log(files);
});

5.删除文件unlink

var fs = require('fs'); // 引入fs模块
fs.unlink('./newfile.txt', function(err) {
  if (err) {
    console.log(err);
    return false;
  }
  console.log("success");
});

6.删除空文件夹rmdir

var fs = require('fs'); // 引入fs模块
fs.rmdir('./newdir', function(err) {
  if (err) {
    console.log(err);
    return false;
  }
  console.log("success");
});

希望本文所述对大家nodejs程序设计有所帮助。

Javascript 相关文章推荐
javascript 密码强弱度检测万能插件
Feb 25 Javascript
JQuery toggle使用分析
Nov 16 Javascript
Javascript在IE和FireFox中的不同表现简析
Dec 03 Javascript
你必须知道的Javascript知识点之"字面量和对应类型"说明介绍
Apr 23 Javascript
Javascript中3种实现继承的方法和代码实例
Aug 12 Javascript
JavaScript中的console.dir()函数介绍
Dec 29 Javascript
jQuery 选择同时包含两个class的元素的实现方法
Jun 01 Javascript
JS for...in 遍历语句用法实例分析
Aug 24 Javascript
原生JS实现首页进度加载动画
Sep 14 Javascript
jQuery Validate让普通按钮触发表单验证的方法
Dec 15 Javascript
Thinkjs3新手入门之如何使用静态资源目录
Dec 06 Javascript
使用vue 国际化i18n 实现多实现语言切换功能
Oct 11 Javascript
JS+Canvas绘制动态时钟效果
Nov 10 #Javascript
javascript实现电脑和手机版样式切换
Nov 10 #Javascript
浅谈jquery中ajax跨域提交的时候会有2次请求的问题
Nov 10 #jQuery
js定时器+简单的动画效果实例
Nov 10 #Javascript
浅谈Node.js CVE-2017-14849 漏洞分析(详细步骤)
Nov 10 #Javascript
angular之ng-template模板加载
Nov 09 #Javascript
深入理解Vue 单向数据流的原理
Nov 09 #Javascript
You might like
世界咖啡生产者论坛呼吁:需要立即就咖啡价格采取认真行动
2021/03/06 咖啡文化
深入PHP magic quotes的详解
2013/06/17 PHP
解析PHP对现有搜索引擎的调用
2013/06/25 PHP
YII2框架中使用yii.js实现的post请求
2017/04/09 PHP
PHP实现的Redis多库选择功能单例类
2017/07/27 PHP
Laravel中10个有用的用法小结
2019/05/06 PHP
Laravel5.5 手动分页和自定义分页样式的简单实现
2019/10/15 PHP
不懂JavaScript应该怎样学
2008/04/16 Javascript
jQuery checkbox全选/取消全选实现代码
2009/11/14 Javascript
爆炸式的JS圆形浮动菜单特效代码
2010/03/03 Javascript
JS原型对象的创建方法详解
2016/06/16 Javascript
微信小程序-小说阅读小程序实例(demo)
2017/01/12 Javascript
详解vue模拟加载更多功能(数据追加)
2017/06/23 Javascript
jQuery zTree搜索-关键字查询 递归无限层功能实现代码
2018/01/25 jQuery
在vue项目中使用sass的配置方法
2018/03/20 Javascript
Nuxt.js SSR与权限验证的实现
2018/11/21 Javascript
浅谈Javascript常用正则表达式应用
2019/03/08 Javascript
[01:34]传奇从这开始 2016国际邀请赛中国区预选赛震撼开启
2016/06/26 DOTA
跟老齐学Python之集合的关系
2014/09/24 Python
Linux下将Python的Django项目部署到Apache服务器
2015/12/24 Python
python3音乐播放器简单实现代码
2020/04/20 Python
python SMTP实现发送带附件电子邮件
2018/05/22 Python
在python plt图表中文字大小调节的方法
2019/07/08 Python
python speech模块的使用方法
2020/09/09 Python
PyQt5通过信号实现MVC的示例
2021/02/06 Python
HTML5打开本地app应用的方法
2016/03/31 HTML / CSS
Clarks英国官方网站:全球领军鞋履品牌
2016/11/26 全球购物
英国领先的高街书籍专家:Waterstones
2018/02/01 全球购物
龟牌英国商店:Turtle Wax Brand Store UK
2019/07/02 全球购物
Deichmann英国:德国鞋类零售商
2021/01/30 全球购物
消防安全管理制度
2014/02/01 职场文书
销售员个人求职的自我评价
2014/02/10 职场文书
施工材料员岗位职责
2014/02/12 职场文书
大专毕业生自我鉴定范文(2篇)
2014/09/27 职场文书
2014年中学生检讨书大全
2014/10/09 职场文书
2016大学生入党积极分子心得体会
2016/01/06 职场文书