网站站群 硬盘扩容 申请报告,百度服务电话,微信公众号发布wordpress,设计做图免费网站fs 文件系统模块
什么是 fs 文件系统模块#xff1f;
fs 模块是 Node.js 官方提供的、用来操作文件的模块。它提供了一系列的方法和属性#xff0c;用来满足用户对文件的操作要求。*
例如#xff1a;
fs.readFile() 方法用来读取文件内容。fs.writeFile() 方法用来写入文…fs 文件系统模块
什么是 fs 文件系统模块
fs 模块是 Node.js 官方提供的、用来操作文件的模块。它提供了一系列的方法和属性用来满足用户对文件的操作要求。*
例如
fs.readFile() 方法用来读取文件内容。fs.writeFile() 方法用来写入文件内容。fs.mkdir() 方法用来创建目录。fs.rmdir() 方法用来删除目录。fs.readdir() 方法用来读取目录中的文件和子目录。fs.stat() 方法用来获取文件或目录的状态。fs.rename() 方法用来重命名文件或目录。fs.unlink() 方法用来删除文件。
引入 fs 模块
const fs require(fs); // 引入 fs 模块读取指定文件中的内容
fs.readFile() 的语法格式
fs.readFile(path, [options], callback);path必选参数字符串表示文件的路径。options可选参数表示以什么编码格式来读取文件。callback必选参数文件读取完成之后通过回调函数拿到读取的结果。
// 1. 导入 fs 模块来操作文件
const fs require(fs);/*** 2. 调用 fs.readFile() 方法读取文件内容* 参数1读取文件的存放路径* 参数2读取文件的编码格式默认是 utf8* 参数3回调函数读取完成之后通过回调函数拿到读取的结果
*/
fs.readFile(path, (err, data) {/*** 2.1 处理读取结果* 如果读取成功err 为 nulldata 为读取到的内容* 如果读取失败err 为 Error 对象data 为 undefined*/// 打印失败的结果if (err) return console.log(读取文件失败:, err);console.log(-----------------)// 打印成功的结果console.log(data:, data);*/
});向指定的文件中写入内容
fs.writeFile() 的语法格式
fs.writeFile(path, data, [options], callback);path必选参数字符串表示文件的路径。data必选参数字符串或 Buffer表示要写入的内容。options可选参数表示以什么编码格式来写入文件。callback必选参数文件写入完成之后通过回调函数通知写入结果。
// 1. 导入 fs 模块来操作文件
const fs require(fs);/*** 2. 调用 fs.writeFile() 方法向文件中写入内容* 参数1写入文件的存放路径* 参数2写入的内容可以是字符串或 Buffer* 参数3写入文件的编码格式默认是 utf8* 参数4回调函数写入完成之后通过回调函数通知写入结果
*/
fs.writeFile(path, data, (err) {/*** 2.1 处理写入结果* 如果写入成功err 为 null* 如果写入失败err 为 Error 对象*/// 打印失败的结果if (err) return console.log(写入文件失败:, err);console.log(写入文件成功);
});## fs 模块 - 路径动态拼接问题 在实际开发中我们经常会遇到路径拼接的问题比如
const path require(path);
const filePath path.join(__dirname, data, file.txt);__dirname当前文件的绝对路径。data子目录名称。file.txt文件名称。
这样的写法虽然可以解决问题但是不够灵活。比如
如果文件路径需要根据运行环境动态变化比如data/file.txt 和 data/file2.txt那么就需要在代码中硬编码。如果文件路径需要根据运行参数动态变化比如data/${param}/file.txt那么就需要在代码中动态拼接。
为了解决这个问题fs 模块提供了 path 对象可以用来处理路径相关的操作。
path.join() 方法
path.join() 方法可以用来拼接路径。
const path require(path);
const filePath path.join(__dirname, data, file.txt);
console.log(filePath); // d:\project\Yh\note\node\data\file.txt__dirname当前文件的绝对路径。data子目录名称。file.txt文件名称。