初识 Node.js 丨fs 文件系统模块

Posted 黑马程序员官方

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初识 Node.js 丨fs 文件系统模块相关的知识,希望对你有一定的参考价值。

一、fs 文件系统模块

1.1 什么是 fs 文件系统模块

  • fs 模块是 Node.js 官方提供的、用来操作文件的模块。它提供了一系列的方法和属性,用来满足用户对文件的操作需求。

例如:

  • fs.readFile() 方法,用来读取指定文件中的内容
  • fs.writeFile() 方法,用来向指定的文件中写入内容

如果要在 javascript 代码中,使用 fs 模块来操作文件,则需要使用如下的方式先导入它:
 

 

1.2 读取指定文件中的内容

1. fs.readFile() 的语法格式

  • 使用 fs.readFile() 方法,可以读取指定文件中的内容,语法格式如下:

参数解读:

  • 参数1:必选参数,字符串,表示文件的路径。
  • 参数2:可选参数,表示以什么编码格式来读取文件。
  • 参数3:必选参数,文件读取完成后,通过回调函数拿到读取的结果。

2. fs.readFile() 的示例代码

以 utf8 的编码格式,读取指定文件的内容,并打印 err 和 dataStr 的值:

 

3. 判断文件是否读取成功

可以判断 err 对象是否为 null,从而知晓文件读取的结果:

 

1.3 向指定的文件中写入内容

1. fs.writeFile() 的语法格式

  • 使用 fs.writeFile() 方法,可以向指定的文件中写入内容,语法格式如下:

 

参数解读:

  • 参数1:必选参数,需要指定一个文件路径的字符串,表示文件的存放路径。
  • 参数2:必选参数,表示要写入的内容。
  • 参数3:可选参数,表示以什么格式写入文件内容,默认值是 utf8。
  • 参数4:必选参数,文件写入完成后的回调函数

2. fs.writeFile() 的示例代码

向指定的文件路径中,写入文件内容:

 

3. 判断文件是否写入成功

可以判断 err 对象是否为 null,从而知晓文件写入的结果:

 

1.5 练习 - 考试成绩整理

使用 fs 文件系统模块,将素材目录下成绩.txt文件中的考试数据,整理到成绩-ok.txt文件中。

整理前,成绩.txt文件中的数据格式如下:

 

整理完成之后,希望得到的成绩-ok.txt文件中的数据格式如下:

核心实现步骤

  • ① 导入需要的 fs 文件系统模块
  • ② 使用 fs.readFile() 方法,读取素材目录下的 成绩.txt 文件
  • ③ 判断文件是否读取失败
  • ④ 文件读取成功后,处理成绩数据
  • ⑤ 将处理完成的成绩数据,调用 fs.writeFile() 方法,写入到新文件 成绩-ok.txt

1.6 fs 模块 - 路径动态拼接的问题

在使用 fs 模块操作文件时,如果提供的操作路径是以 ./ ../ 开头的相对路径时,很容易出现路径动态拼接错误的问题。

  • 原因:代码在运行的时候,会以执行 node 命令时所处的目录,动态拼接出被操作文件的完整路径。
  • 解决方案:在使用 fs 模块操作文件时,直接提供完整的路径,不要提供 ./ 或 ../ 开头的相对路径,从而防止路径动态拼接的问题。

 

Node.js前篇回顾:


01-初识Node.js


黑马前端专栏干货多多,关注再学,好方便~

2022年前端学习路线图:课程、源码、笔记,技术栈  另外此线路图实时更新!需要课后资料的友友们,可以直接告诉我

 

以上是关于初识 Node.js 丨fs 文件系统模块的主要内容,如果未能解决你的问题,请参考以下文章

node基础1--初识Node.js与内置模块

初识 Node.js 丨path 路径模块

初识 Node.js丨http 模块

web学习-Node.js入门学习

Node.js fs文件系统相关操作

Node.js fs文件系统相关操作