import Breadcrumb from '../../../components/Breadcrumb'
fs 模块是 Node 提供的用来操作文件的模块。用来满足对文件操作的需求。
fs.readFile()方法,读取指定文件的内容。fs.writeFile()方法,向指定文件写入内容。
导入
fs 文件模块是 Node 自带的模块,因此只要导入模块即可。
const fs=require('fs');读取指定文件的内容
语法格式
fs.readFile(path [, options],callback);参数解读:
path: 必选参数。字符串,标明文件的路径。options: 可选参数。标识编码格式。callback: 必选参数,文件读取完成后要执行的回调函数。
示例代码
使用 utf8 编码格式读取指定文件的内容,并打印 err 和 dataStr 的值。
const fs=require('fs');
fs.readFile('./files/11.txt','utf8',function(err,dataStr){
// 无论是否读取成功都会执行回调函数,这整个函数作为参数
console.log(err);
console.log('----');// 分割线
console.log(dataStr);// 读取成功的结果
})用 VScode 创建一个工程。
创建 api.js 文件,内容如下:
const fs = require("fs");
fs.readFile("11.txt", "utf8", function (err, dataStr) {
// 无论是否读取成功都会执行回调函数,这整个函数作为参数
console.log(err);
console.log("----"); // 分割线
console.log(dataStr); // 读取成功的结果
});在同层级目录下创建文件 11.txt :
1111在终端执行这段代码:

可以见得,该方法成功读取了这个文本文件,并返回了正确的值。
null
----
1111因为没有发生错误,所以 err 参数值为 null 。
我们不妨试一下,让这段代码读取不存在的文件。这次应该会有 err 报错。
const fs = require("fs");
fs.readFile("no.txt", "utf8", function (err, dataStr) {
// 无论是否读取成功都会执行回调函数,这整个函数作为参数
console.log(err);
console.log("----"); // 分割线
console.log(dataStr); // 读取成功的结果
});
正如预期的,返回了错误对象以及不存在数据值。
判断文件是否读取成功
const fs = require('fs');
fs.readFile('11.txt', 'utf8', function (err, dataStr) {
if (err) {
// 如果读取失败返回错误信息
console.log("读取失败"+ err.message);
}
else {
// 如果读取成功返回数据
console.log("读取成功" + dataStr);
}
})成功状态执行结果:
读取成功1111失败返回结果:
读取失败ENOENT: no such file or directory, open 'D:\desk\FrontEnd\test\8-11\111.txt'向指定文件写入内容
语法格式
fs.readFile(path , data , [, options], callback);参数解读:
path: 必选参数。字符串,标明文件的路径。data: 必选参数,写入的内容。- `