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 20 Javascript
JavaScript实现点击按钮后变灰避免多次重复提交
Jul 15 Javascript
Javascript实现真实字符串剩余字数提示的实例代码
Oct 22 Javascript
jquery text(),val(),html()方法区别总结
Nov 04 Javascript
javascript中的altKey 和 Event属性大全
Nov 06 Javascript
Three.js学习之文字形状及自定义形状
Aug 01 Javascript
令按钮悬浮在(手机)页面底部的实现方法
May 02 Javascript
D3.js进阶系列之CSV表格文件的读取详解
Jun 06 Javascript
parabola.js抛物线与加入购物车效果的示例代码
Oct 25 Javascript
关于HTML5的data-*自定义属性的总结
May 05 Javascript
jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】
May 17 jQuery
javascript设计模式 ? 策略模式原理与用法实例分析
Apr 21 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
php中echo()和print()、require()和include()等易混淆函数的区别
2012/02/22 PHP
关于PHP内存溢出问题的解决方法
2013/06/25 PHP
PHP输出当前进程所有变量/常量/模块/函数/类的示例
2013/11/07 PHP
php 删除cookie方法详解
2014/12/01 PHP
PHP引用的调用方法分析
2016/04/25 PHP
php英文单词统计器
2016/06/23 PHP
PHP文件上传处理案例分析
2016/10/15 PHP
thinkphp5使html5实现动态跳转的例子
2019/10/16 PHP
FireFox JavaScript全局Event对象
2009/06/14 Javascript
jquery lazyload延迟加载技术的实现原理分析
2011/01/24 Javascript
dojo随手记 gird组件引用
2011/02/24 Javascript
引入JS文件IE6报语法错误或缺少对象问题的解决方法
2014/01/09 Javascript
jquery easyui 对于开始时间小于结束时间的判断示例
2014/03/22 Javascript
拥有一个属于自己的javascript表单验证插件
2016/03/24 Javascript
详解Webpack DLL用法以及功能
2017/07/11 Javascript
JavaScript深拷贝和浅拷贝概念与用法实例分析
2018/06/07 Javascript
详解vue-cli中模拟数据的两种方法
2018/07/03 Javascript
详解使用angular框架离线你的应用(pwa指南)
2019/01/31 Javascript
微信小程序实现音频文件播放进度的实例代码
2020/03/02 Javascript
python编程开发之类型转换convert实例分析
2015/11/13 Python
python中常用的九种预处理方法分享
2016/09/11 Python
浅谈python中的数字类型与处理工具
2017/08/02 Python
python 定时器每天就执行一次的实现代码
2019/08/14 Python
利用Python实现kNN算法的代码
2019/08/16 Python
python3 BeautifulSoup模块使用字典的方法抓取a标签内的数据示例
2019/11/28 Python
numpy.transpose()实现数组的转置例子
2019/12/02 Python
Python如何测试stdout输出
2020/08/10 Python
解决pycharm 格式报错tabs和space不一致问题
2021/02/26 Python
瑞典灯具和照明网上商店:Lamp24.se
2018/03/17 全球购物
就业表自我评价分享
2014/02/06 职场文书
节约电力资源的建议书
2014/03/12 职场文书
《诚实与信任》教学反思
2014/04/10 职场文书
《假如》教学反思
2014/04/17 职场文书
安全标语大全
2014/06/10 职场文书
初中家长评语和期望
2014/12/26 职场文书
大学生敬老院活动总结
2015/05/07 职场文书