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 相关文章推荐
js使用eval解析json实例与注意事项分享
Jan 18 Javascript
瀑布流布局代码一例
Apr 11 Javascript
JavaScript获取指定元素位置的方法
Apr 08 Javascript
js获得当前系统日期时间的方法
May 06 Javascript
AngularJS使用ng-inlude指令加载页面失败的原因与解决方法
Jan 19 Javascript
深入理解jquery的$.extend()、$.fn和$.fn.extend()
Jul 08 jQuery
Vue2.5通过json文件读取数据的方法
Feb 27 Javascript
JavaScript中创建原子的方法总结
Aug 26 Javascript
js中自定义react数据验证组件实例详解
Oct 19 Javascript
Vue性能优化的方法
Jul 30 Javascript
VUE 单页面使用 echart 窗口变化时的用法
Jul 30 Javascript
浅谈javascript如何获取文件后缀名
Aug 07 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中10个不常见却非常有用的函数
2010/03/21 PHP
php定时计划任务与fsockopen持续进程实例
2014/05/23 PHP
PHP生成静态HTML页面最简单方法示例
2015/04/09 PHP
jQuery+php简单实现全选删除的方法
2016/11/28 PHP
PHP调用微博接口实现微博登录的方法示例
2018/09/22 PHP
PHP html_entity_decode()函数讲解
2019/02/25 PHP
PHP执行普通shell命令流程解析
2020/08/24 PHP
jQuery 动态酷效果实现总结
2009/12/27 Javascript
jQuery $.get 的妙用 访问本地文本文件
2012/07/12 Javascript
jquery网页元素拖拽插件效果及实现
2013/08/05 Javascript
jQuery教程 $()包装函数来实现数组元素分页效果
2013/08/13 Javascript
javaScript年份下拉列表框内容为当前年份及前后50年
2014/05/28 Javascript
flash+jQuery实现可关闭及重复播放的压顶广告
2015/04/15 Javascript
高性能JavaScript DOM编程(1)
2015/08/11 Javascript
Bootstrap每天必学之前端开发框架
2015/11/19 Javascript
JavaScript数据结构链表知识详解
2016/11/21 Javascript
第一次接触神奇的前端框架vue.js
2016/12/01 Javascript
angular.js指令中的controller、compile与link函数的不同之处
2017/05/10 Javascript
Angular.js中上传指令ng-upload的基本使用教程
2017/07/30 Javascript
layer.close()关闭进度条和Iframe窗的方法
2018/08/17 Javascript
浅析JS中NEW的实现原理及重写
2020/02/20 Javascript
Vue+penlayers实现多边形绘制及展示
2020/12/24 Vue.js
python的mysqldb安装步骤详解
2017/08/14 Python
Python使用Tkinter实现机器人走迷宫
2018/01/22 Python
Python实现判断并移除列表指定位置元素的方法
2018/04/13 Python
Python 输入一个数字判断成绩分数等级的方法
2018/11/15 Python
对PyQt5中的菜单栏和工具栏实例详解
2019/06/20 Python
在win64上使用bypy进行百度网盘文件上传功能
2020/01/02 Python
pytorch中 gpu与gpu、gpu与cpu 在load时相互转化操作
2020/05/25 Python
基于HTML5的WebGL经典3D虚拟机房漫游动画
2017/11/15 HTML / CSS
什么是反射
2012/03/17 面试题
小学生安全保证书
2014/02/01 职场文书
蜜蜂引路教学反思
2014/02/04 职场文书
小学少先队活动方案
2014/02/18 职场文书
常住证明范本
2015/06/23 职场文书
2016年“世界环境日”校园广播稿
2015/12/18 职场文书