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初学困境—js初学
Dec 29 Javascript
你可能不知道的JavaScript的new Function()方法
Apr 17 Javascript
JavaScript获取元素尺寸和大小操作总结
Feb 27 Javascript
在线所见即所得HTML编辑器的实现原理浅析
Apr 25 Javascript
谈谈jQuery Ajax用法详解
Nov 27 Javascript
jsonp跨域请求数据实现手机号码查询实例分析
Dec 12 Javascript
微信小程序 Button 组件详解及简单实例
Jan 10 Javascript
jQuery图片加载失败替换默认图片方法汇总
Nov 29 jQuery
详解vue.js下引入百度地图jsApi的两种方法
Jul 27 Javascript
Makefile/cmake/node-gyp中区分判断不同平台的方法
Dec 18 Javascript
JavaScript使用localStorage存储数据
Sep 25 Javascript
Vue实现购物小球抛物线的方法实例
Nov 22 Vue.js
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
预告映像公开!第1章续篇剧场版动画《Princess Principal Crown Handler》4月10日上映!
2020/03/06 日漫
PHP 处理图片的类实现代码
2009/10/23 PHP
php ss7.5的数据调用 (笔记)
2010/03/08 PHP
php 备份数据库代码(生成word,excel,json,xml,sql)
2013/06/23 PHP
PHP实现的线索二叉树及二叉树遍历方法详解
2016/04/25 PHP
Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册
2016/12/27 PHP
javascrpt绑定事件之匿名函数无法解除绑定问题
2012/12/06 Javascript
使用jQuery实现验证上传图片的格式与大小
2014/12/03 Javascript
jQuery实现鼠标悬停背景翻转的黑色导航菜单代码
2015/09/14 Javascript
jQuery实现放大镜效果实例代码
2016/03/17 Javascript
Servlet3.0与纯javascript通过Ajax交互的实例详解
2018/03/18 Javascript
Js面试算法详解
2018/04/08 Javascript
Windows下支持自动更新的Electron应用脚手架的方法
2018/12/24 Javascript
JS实现查找数组中对象的属性值是否存在示例
2019/05/24 Javascript
详解基于Vue的支持数据双向绑定的select组件
2019/09/02 Javascript
JavaScript相等运算符的九条规则示例详解
2019/10/20 Javascript
[01:00:14]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant BO3 第二场 2月28日
2021/03/11 DOTA
Perl中著名的Schwartzian转换问题解决实现
2015/06/02 Python
在Python 中实现图片加框和加字的方法
2019/01/26 Python
Python模块_PyLibTiff读取tif文件的实例
2020/01/13 Python
python3.7.3版本和django2.2.3版本是否可以兼容
2020/09/01 Python
Python 列表反转显示的四种方法
2020/11/16 Python
通过Python pyecharts输出保存图片代码实例
2020/11/25 Python
利用CSS3的特性改变文本选中时的颜色
2013/09/11 HTML / CSS
Nike爱尔兰官方网站:Nike.com (IE)
2018/03/12 全球购物
ProBikeKit德国:在线公路自行车专家
2018/06/03 全球购物
美国马匹用品和马钉购物网站:State Line Tack
2018/08/05 全球购物
澳大利亚领先的武术用品和健身器材供应商:SMAI
2019/03/24 全球购物
门卫工作岗位职责
2013/12/17 职场文书
物流毕业生个人的自我评价
2014/02/13 职场文书
高中毕业生登记表自我鉴定范文
2014/03/18 职场文书
工程学毕业生自荐信
2014/06/14 职场文书
工商管理专业毕业生自我鉴定2014
2014/10/04 职场文书
工程质检员岗位职责
2015/04/08 职场文书
2019年度行政文员工作计划范本!
2019/07/04 职场文书
写一个Python脚本自动爬取Bilibili小视频
2021/04/24 Python