Node中fs文件系统模块的使用方法详解
作者:扶苏1002
fs 模块是 Node.js 官方提供的、用来操作文件的模块(内置api),它提供了一系列的方法和属性,用来满足用户对文件的操作需求,本文给大家介绍了Node中fs文件系统模块的使用方法,需要的朋友可以参考下
一、什么是fs文件系统模块
- fs 模块是 Node.js 官方提供的、用来操作文件的模块(内置api)。
- 它提供了一系列的方法和属性,用来满足用户对文件的操作需求
例如:
fs.readFile()
方法,用来读取指定文件中的内容fs.writeFile()
方法,用来向指定的文件中写入内容
二、fs模块的使用
如果要在JavaScript代码中,使用fs 模块来操作文件,则需要使用如下的方式先导入它
const fs = require("fs");
2.1. fs.readFile()的语法格式
使用fs.readFile()
方法,可以读取指定文件中的内容,语法格式如下:
fs.readFile(path,[, options],callback)
参数解读
- 参数1: 必选参数,字符串,表示文件的路径
- 参数2: 可选参数,表示以什么编码格式来读取文件。
- 参数3: 必选参数,文件读取完成后,通过回调函数拿到读取的结果(如果没有参数2,那么参数3可以直接写到参数2 的位置)
// 导入文件系统模块 const fs = require("fs"); fs.readFile("./成绩.txt", "utf8", function (err, dataStr) { if (err) return console.log(err.message); //读取失败 console.log(dataStr); //读取成功 });
2.2、fs.writeFile()的语法格式
使用fs.writeFile()
方法,可以向指定的文件中写入内容,语法格式如下:
fs.writeFile(path,data,[, options], callback)
注意
fs.writeFile
两大特点
- 如果写入的文件目录存在,但文件名不存在,会帮你创建一个文件并写入
- 如果一份文件同时写入两次,文件内容不追加,直接替换
参数解读
- 参数1:必选参数,需要指定一个文件路径的字符串,表示文件的存放路径
- 参数2:必选参数,表示要写入的内容
- 参数3:可选参数,表示以什么格式写入文件内容,默认值是utf8
参数4: 必选参数,文件写入完成后,通过回调函数拿到写入的结果(如果没有参数3,那么参数4可以直接写到参数3的位置)
// 导入文件系统模块 const fs = require("fs"); fs.writeFile("./hello.txt", "hello Nodejs", function (err) { if (err) return console.log(err.message); //写入失败 console.log("写入成功"); //写入成功 });
三、练习:考试成绩整理
核心实现步骤
- 导入需要的
fs文件系统模块
- 使用
fs.readFile()
方法,读取素材目录下的成绩.txt
文件 - 判断文件是否读取失败
- 文件读取成功后,处理成绩数据
- 将处理完成的成绩数据,调用
fs.writeFile()
方法,写入到新成绩.txt
中
- 效果如下
index.js实现代码
// 导入文件操作模块 const fs = require("fs"); // 读取 fs.readFile("./成绩.txt", "utf8", (error, dataStr) => { if (error) return console.log("文件读取失败", error.message); const oldArray = dataStr.split(" "); //[小红=80,小兰=60] let newArray = oldArray.map((item) => item.replace("=", ":")); //[小红:80,小兰:60] let newStr = newArray.join("\r\n"); fs.writeFile("./新成绩.txt", newStr, "utf8", (error) => { if (error) return console.log("文件写入失败", error); console.log("文件写入成功!!"); }); });
四、Nodejs中fs文件系统模块的路径动态拼接的问题
Nodejs中fs文件系统模块的路径动态拼接的问题和解决方案_node.js_脚本之家 (jb51.net)
到此这篇关于Node中fs文件系统模块的使用方法详解的文章就介绍到这了,更多相关Node fs文件系统模块内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!