当前位置: 代码网 > it编程>前端脚本>Node.js > Node中fs文件系统模块的使用方法详解

Node中fs文件系统模块的使用方法详解

2024年05月15日 Node.js 我要评论
一、什么是fs文件系统模块fs 模块是 node.js 官方提供的、用来操作文件的模块(内置api)。它提供了一系列的方法和属性,用来满足用户对文件的操作需求例如:fs.readfile() 方法,用

一、什么是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 的位置)

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

2.2、fs.writefile()的语法格式

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

fs.writefile(path,data,[, options], callback)

注意fs.writefile两大特点

  • 如果写入的文件目录存在,但文件名不存在,会帮你创建一个文件并写入
  • 如果一份文件同时写入两次,文件内容不追加,直接替换

参数解读

  • 参数1:必选参数,需要指定一个文件路径的字符串,表示文件的存放路径
  • 参数2:必选参数,表示要写入的内容
  • 参数3:可选参数,表示以什么格式写入文件内容,默认值是utf8
    参数4: 必选参数,文件写入完成后,通过回调函数拿到写入的结果(如果没有参数3,那么参数4可以直接写到参数3的位置)

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

三、练习:考试成绩整理

核心实现步骤

  • 导入需要的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文件系统模块内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com