NodeJs 文件系统操作模块fs使用方法详解


Posted in NodeJs onNovember 26, 2018

NodeJs:文件读取API使用方法 - - readFile()

  1. 需求:使用Node中提供的文件操作API,读取files目录下的1.txt 文档中文本内容。
  2. Node的三个组成部分:ECMAScript核心 + 全局成员 + 核心API成员
  3. 核心API成员,在大家安装Node应用程序的时候,就已经安装到了自己的电脑中。
  4. 如果想要访问核心成员,直接使用require(“核心成员的名称”),就能够导入并使用这些核心成员。

const fs = require(“fs”);

fs.核心模块中,提供了一个 fs.readFile方法,来读取指定目录下的文件

fs.readFile(); 有三个参数

  1. 参数1:表示要读取的文件的路径
  2. 参数2:表示要以什么样的编码格式,来读取指定的文件,默认编码格式为null。
  3. 参数3:表示当文件读取完成,调用这个callback回调函数来处理读取的结果。
  4. 第一个参数,是error对象,第二个参数,才是读取成功的结果。
fs.readFile(“./files/1.txt”,function(err,data){
console.log(err); // null 如果err 为null 就证明读取成功了,没有出错
console.log(data); // <Buffer > 读取的内容数据
})

读取文件完整代码演示:

NodeJs 文件系统操作模块fs使用方法详解

NodeJs:文件写入API使用方法 - - writeFile()需求:调用fs.writeFile方法,向files目录中,写入一个2.txt文档。

导入fs 文件操作模块

const fs = require(“fs”);

  1. 调用fs.writeFile写入文件
  2. 参数1:路径字符串,表示要把文件内容写入到那个文件中
  3. 参数2:要写入的数据,可以指定一个字符串
  4. 参数3:可选参数,表示要以什么格式写入文件内容,默认以utf-8格式写入文件(一般默认不传递第三个参数)
  5. 参数4:文件写入完成之后的callback回调函数

/*注释*/ : 在回调函数中,只有一个形参,err返回错误对象

写入文件完整代码演示:

NodeJs 文件系统操作模块fs使用方法详解

NodeJs:文件追加API使用方法 - - appendFile()导入 fs 文件操作模块

const fs = require(“fs”);

调用fs.appendFile 追加文件内容

  1. 参数1:表示要向哪个文件中追加内容,指定一个文件的路径
  2. 参数2:表示要追加的具体的内容,可以传递字符串内容
  3. 可选参数:表示追加文本内容时候的编码格式,如果省略此参数。默认以utf8的格式追加内容
  4. 参数4:表示追加完成之后的回调

/*注释*/ :有形参err,追加失败之后的错误结果

追加文件完整代码演示:

NodeJs 文件系统操作模块fs使用方法详解

fs模块相对路径的问题:

使用fs模块操作文件的时候,如果提供的操作路径是相对路径,则会根据当前执行node命令时的磁盘目录,去拼接提供的文件的相对路径,从而容易出现问题;

例如:

NodeJs 文件系统操作模块fs使用方法详解

出现以下错误:

NodeJs 文件系统操作模块fs使用方法详解

Ps:上述图片内容中代码的路径请根据自身文件目录路径为主。

解决方案:

注意:在node中_ _dirname 表示当前这个文件,所处的磁盘目录

_ _filename 表示当前这个文件的完整路径,路径中包含了具体的文件名

代码演示:

NodeJs 文件系统操作模块fs使用方法详解

结论:今后,只要在使用fs 模块操作文件的时候,而且这个方法需要提供一个文件的操作路径,这时候大家一定要使用_ _dirname 去拼接路径。

NodeJs:读取文件信息 - - fs.stat()

1.引入fs模块

NodeJs 文件系统操作模块fs使用方法详解

2.Fs.stat() 方法使用

NodeJs 文件系统操作模块fs使用方法详解

Ps:上述代码终端打印日志:

NodeJs 文件系统操作模块fs使用方法详解

NodeJs:复制文件 - - fs.copyFile()

1.引入fs模块

NodeJs 文件系统操作模块fs使用方法详解

2.copyFile();方式使用

NodeJs 文件系统操作模块fs使用方法详解

总结

以上所述是小编给大家介绍的NodeJs 文件系统操作模块fs使用方法详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

NodeJs 相关文章推荐
基于NodeJS的前后端分离的思考与实践(六)Nginx + Node.js + Java 的软件栈部署实践
Sep 26 NodeJs
轻松创建nodejs服务器(4):路由
Dec 18 NodeJs
轻松创建nodejs服务器(7):阻塞操作的实现
Dec 18 NodeJs
nodejs中实现路由功能
Dec 29 NodeJs
nodejs进阶(6)—连接MySQL数据库示例
Jan 07 NodeJs
NodeJS遍历文件生产文件列表功能示例
Jan 22 NodeJs
Nodejs基于LRU算法实现的缓存处理操作示例
Mar 17 NodeJs
nodejs socket实现的服务端和客户端功能示例
Jun 02 NodeJs
nodeJS实现路由功能实例代码
Jun 08 NodeJs
nodejs简单实现TCP服务器端和客户端的聊天功能示例
Jan 04 NodeJs
nodejs基础之buffer缓冲区用法分析
Dec 26 NodeJs
NodeJS 文件夹拷贝以及删除功能
Sep 03 NodeJs
详解从NodeJS搭建中间层再谈前后端分离
Nov 13 #NodeJs
手把手教你如何使用nodejs编写cli命令行
Nov 05 #NodeJs
基于nodejs的雪碧图制作工具的示例代码
Nov 05 #NodeJs
nodejs遍历文件夹下并操作HTML/CSS/JS/PNG/JPG的方法
Nov 01 #NodeJs
nodejs中函数的调用实例详解
Oct 31 #NodeJs
NodeJS 将文件夹按照存放路径变成一个对应的JSON的方法
Oct 17 #NodeJs
Nodejs实现多文件夹文件同步
Oct 17 #NodeJs
You might like
PHP 作用域解析运算符(::)
2010/07/27 PHP
提高PHP性能的编码技巧以及性能优化详细解析
2013/08/24 PHP
CodeIgniter框架中_remap()使用方法2例
2014/03/10 PHP
php微信公众号开发(4)php实现自定义关键字回复
2016/12/15 PHP
一段效率很高的for循环语句使用方法
2007/08/13 Javascript
React router动态加载组件之适配器模式的应用详解
2018/09/12 Javascript
JS实现盒子拖拽效果
2020/02/06 Javascript
详解为什么Vue中不要用index作为key(diff算法)
2020/04/04 Javascript
[03:12]TI9战队档案 - Virtus Pro
2019/08/20 DOTA
python使用datetime模块计算各种时间间隔的方法
2015/03/24 Python
python anaconda 安装 环境变量 升级 以及特殊库安装的方法
2017/06/21 Python
Python + selenium + requests实现12306全自动抢票及验证码破解加自动点击功能
2018/11/23 Python
python游戏地图最短路径求解
2019/01/16 Python
Python list列表中删除多个重复元素操作示例
2019/02/27 Python
PyQt5固定窗口大小的方法
2019/06/18 Python
python3实现的zip格式压缩文件夹操作示例
2019/08/17 Python
树莓派极简安装OpenCv的方法步骤
2019/10/10 Python
Python多进程编程常用方法解析
2020/03/26 Python
CSS3实现曲线阴影和翘边阴影
2016/05/03 HTML / CSS
CSS3为背景图设置遮罩并解决遮罩样式继承问题
2020/06/22 HTML / CSS
CSS3 实现图形下落动画效果
2020/11/13 HTML / CSS
Html5新标签解释及用法
2012/02/17 HTML / CSS
html5录音功能实战示例
2019/03/25 HTML / CSS
Beauty Expert美国/加拿大:购买奢侈美容产品
2018/12/05 全球购物
企业门卫岗位职责
2013/12/12 职场文书
一份报关员的职业规划范文
2014/01/08 职场文书
法律进企业活动方案
2014/03/04 职场文书
《悯农》教学反思
2014/04/28 职场文书
省委召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
介绍信如何写
2015/01/31 职场文书
2016公务员年度考核评语
2015/12/01 职场文书
2016入党积极分子党校培训心得体会
2016/01/06 职场文书
DjangoRestFramework 使用 simpleJWT 登陆认证完整记录
2021/06/22 Python
MySql 缓存查询原理与缓存监控和索引监控介绍
2021/07/02 MySQL
Android开发EditText禁止输入监听及InputFilter字符过滤
2022/06/10 Java/Android
Python中tqdm的使用和例子
2022/09/23 Python