美文网首页
Nodejs--fs文件系统模块

Nodejs--fs文件系统模块

作者: 扶得一人醉如苏沐晨 | 来源:发表于2023-09-15 08:59 被阅读0次

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

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

    • fs.readFile() 方法,用来读取指定文件中的内容
    • fs.writeFile() 方法,用来向指定的文件中写入内容
      如果要在JavaScript代码中,使用fs 模块来操作文件,则需要使用如下的方式先导入它
    const fs = require("fs");
    

    1.1、fs.readFile()的语法格式

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

    fs.readFile(path[, options],callback)
    

    参数解读

    • 参数1:必选参数,字符串,表示文件的路径
    • 参数2:可选参数,表示以什么编码格式来读取文件。
    • 参数3:必选参数,文件读取完成后,通过回调函数拿到读取的结果
    image.png
    // 导入文件系统模块
    const fs = require("fs");
    fs.readFile("./成绩.txt", "utf8", function (err, dataStr) {
      if (err) return console.log(err.message); //读取失败
      console.log(dataStr); //读取成功
    });
    
    image.png

    1.2、fs.writeFile()的语法格式

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

    fs.writeFile(file,data[, options], callback)
    

    参数解读

    • 参数1:必选参数,需要指定一个文件路径的字符串,表示文件的存放路径
    • 参数2:必选参数,表示要写入的内容
    • 参数3:可选参数,表示以什么格式写入文件内容,默认值是utf8
    image.png
    // 导入文件系统模块
    const fs = require("fs");
    fs.writeFile("./hello.txt", "hello Nodejs", function (err) {
      if (err) return console.log(err.message); //写入失败
      console.log("写入成功"); //写入成功
    });
    
    image.png
    image.png

    1.3、练习考试成绩整理

    核心实现步骤

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

    效果如下

    image.png image.png
    image.png

    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文件系统模块

          本文链接:https://www.haomeiwen.com/subject/xutvvdtx.html