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 相关文章推荐
判断iframe是否加载完成的完美方法
Jan 07 Javascript
javascript获取作用在元素上面的样式属性代码
Sep 20 Javascript
HTML上传控件取消选择
Mar 06 Javascript
extjs render 用法介绍
Sep 11 Javascript
Jquery中扩展方法extend使用技巧
Aug 24 Javascript
JavaScript函数详解
Feb 27 Javascript
JavaScript中setUTCMilliseconds()方法的使用详解
Jun 12 Javascript
js实现显示当前状态的导航效果代码
Aug 28 Javascript
jquery对象和DOM对象的任意相互转换
Feb 21 Javascript
gulp-uglify 与gulp.watch()配合使用时报错(重复压缩问题)
Aug 24 Javascript
JS判断两个对象内容是否相等的方法示例
Apr 10 Javascript
基于JavaScript实现年月日三级联动
Jun 22 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.ini实现Mysql导入数据库文件最大限制的修改方法
2007/12/11 PHP
php截取utf-8中文字符串乱码的解决方法
2010/03/29 PHP
PHP编程函数安全篇
2013/01/08 PHP
php的crc32函数使用时需要注意的问题(不然就是坑)
2015/04/21 PHP
不同浏览器对回车提交表单的处理办法
2010/02/13 Javascript
JS取文本框中最小值的简单实例
2013/11/29 Javascript
JavaScript中的数组特性介绍
2014/12/30 Javascript
谈谈encodeURI和encodeURIComponent以及escape的区别与应用
2015/11/24 Javascript
jquery实现鼠标悬浮停止轮播特效
2020/08/20 Javascript
老生常谈JavaScript 函数表达式
2016/09/01 Javascript
每个程序员都需要学习 JavaScript 的7个理由小结
2016/09/03 Javascript
原生js实现节日时间倒计时功能
2017/01/18 Javascript
js实现下拉菜单效果
2017/03/01 Javascript
彻底搞懂JavaScript中的apply和call方法(必看)
2017/09/18 Javascript
vue2.0 如何把子组件的数据传给父组件(推荐)
2018/01/15 Javascript
JavaScript错误处理操作实例详解
2019/01/04 Javascript
Vue实现按钮级权限方案
2019/11/21 Javascript
JS实现滑动导航效果
2020/01/14 Javascript
vue中对象数组去重的实现
2020/02/06 Javascript
利用PHP实现递归删除链表元素的方法示例
2020/10/23 Javascript
[01:04:30]Fnatic vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python实现将html表格转换成CSV文件的方法
2015/06/28 Python
Pycharm学习教程(5) Python快捷键相关设置
2017/05/03 Python
Android分包MultiDex策略详解
2017/10/30 Python
详解python读取image
2019/04/03 Python
python实现删除列表中某个元素的3种方法
2020/01/15 Python
python爬虫模块URL管理器模块用法解析
2020/02/03 Python
解决pycharm中导入自己写的.py函数出错问题
2020/02/12 Python
精彩的推荐信范文
2013/11/26 职场文书
文明班级建设方案
2014/05/15 职场文书
地球一小时宣传标语
2014/06/24 职场文书
中标通知书范本
2015/04/17 职场文书
幼儿园教师师德师风承诺书
2015/04/28 职场文书
KTV员工管理制度
2015/08/06 职场文书
《悲惨世界》:比天空更广阔的是人的心灵
2020/01/16 职场文书
python文件名批量重命名脚本实例代码
2021/04/22 Python