Bootstrap

Node.js-fs 文件系统模块

1.什么是 fs 文件系统模块

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

例如:

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

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

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

在这里插入图片描述

2.读取指定文件中的内容

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

使用 fs.readFile() 方法,可以读取指定文件中的内容,语法格式如下:
在这里插入图片描述

参数解读:

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

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

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

在这里插入图片描述

代码:

//1、导入fs模块,来操作文件
const fs = require('fs')

//2、调用fs.readFile()方法读取文件
//参数1:读取文件的存放路径
//参数2:读取文件时候采用的编码格式,一般认定为utf-8
//参数3:回调函数,拿到读取失败和成功的结果 err dataStr
fs.readFile('./1.text','utf-8',function(err,dataStr){
    //2.1打印失败的结果
    //如果读取成功,则err值为null
    //如果读取失败,则err的值为错误对象,dataStr的值为undefined
console.log(err)
console.log('-----------------')
    //2.2打印成功的结果
    console.log(dataStr)
}) 

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

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

在这里插入图片描述
代码:

//1、导入fs模块,来操作文件
const fs = require('fs')

//2、调用fs.readFile()方法读取文件
//参数1:读取文件的存放路径
//参数2:读取文件时候采用的编码格式,一般认定为utf-8
//参数3:回调函数,拿到读取失败和成功的结果 err dataStr
fs.readFile('./11.text','utf-8',function(err,dataStr){
  if(err){
      return console.log('读取文件失败!' + err.message);
  }
  console.log('读取文件成功!' + dataStr);
}) 

3 .向指定的文件中写入内容

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

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

在这里插入图片描述

参数解读:

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

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

向指定的文件路径中,写入文件内容:
在这里插入图片描述
代码:

//1、导入fs文件系统模块
const fs = require('fs')
//2、调用fs.writeFile()方法,写入文件内容
//参数1:表述文件存放的路径
//参数2:表示写入的内容
//参数3:回调函数
fs.writeFile('./2.text','abcd',function(err){
    //2.1、如果文件写入成功,则err的值为NULL
    //2.2、如果文件写入失败,则err的值等于一个错误对象
    console.log(err);
})

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

可以判断 err 对象是否为 null,从而知晓文件写入的结果:
在这里插入图片描述
代码:

//1、导入fs文件系统模块
const fs = require('fs')
//2、调用fs.writeFile()方法,写入文件内容
//参数1:表述文件存放的路径
//参数2:表示写入的内容
//参数3:回调函数
fs.writeFile('./2.text','abcd',function(err){
   if(err){
       return console.log('文件写入失败!' + err.message)
   }
   console.log('文件写入成功!');
})

4.资料来源:黑马程序员

;