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

 更新时间:2024年03月19日 10:12:25   作者:扶苏1002  
fs?模块是?Node.js?官方提供的、用来操作文件的模块(内置api),它提供了一系列的方法和属性,用来满足用户对文件的操作需求,本文给大家介绍了Node中fs文件系统模块的使用方法,需要的朋友可以参考下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

一、什么是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文件系统模块内容请搜索程序员之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持程序员之家!

相关文章

  • 使用GruntJS构建Web程序之合并压缩篇

    使用GruntJS构建Web程序之合并压缩篇

    前一篇讲述了如何使用concat和uglify命令实现JavaScript资源的合并,压缩。这篇讲述下css资源的合并和压缩。
    2014-06-06
  • 详解NodeJs项目 CentOs linux服务器线上部署

    详解NodeJs项目 CentOs linux服务器线上部署

    这篇文章主要介绍了NodeJs项目 CentOs linux服务器线上部署,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • nodejs使用express创建一个简单web应用

    nodejs使用express创建一个简单web应用

    这篇文章主要介绍了nodejs使用express创建一个简单web应用的相关资料,需要的朋友可以参考下
    2017-03-03
  • Node.js 使用AngularJS的方法示例

    Node.js 使用AngularJS的方法示例

    这篇文章主要介绍了Node.js 使用AngularJS的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • nodejs进阶(6)—连接MySQL数据库示例

    nodejs进阶(6)—连接MySQL数据库示例

    本篇文章主要介绍了nodejs进阶(6)—连接MySQL数据库示例,详细的介绍了NodeJS操作MySQL数据库,作为应用最为广泛的开源数据库则成为我们的首选,有兴趣的可以了解一下。
    2017-01-01
  • Node爬取大批量文件的方法示例

    Node爬取大批量文件的方法示例

    这篇文章主要介绍了Node爬取大批量文件的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • node.js中的console.log方法使用说明

    node.js中的console.log方法使用说明

    这篇文章主要介绍了node.js中的console.log方法使用说明,本文介绍了console.log的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下
    2014-12-12
  • nvm管理node无法正常切换node版本问题的解决方法

    nvm管理node无法正常切换node版本问题的解决方法

    相信一定会有存在一些小伙伴 明明都已经按着操作卸载node 和安装nvm 了但是 依旧无法正常通过nvm管理node,本文将给大家介绍nvm管理node无法正常切换node版本问题的解决方法,需要的朋友可以参考下
    2024-01-01
  • 利用node.js爬取指定排名网站的JS引用库详解

    利用node.js爬取指定排名网站的JS引用库详解

    最近在学习node.js爬虫,由于 nodejs 强大的异步特性,让我们可以轻松以异步高并发去爬取网站,下面这篇文章主要给大家介绍了关于利用node.js爬取指定排名网站的JS引用库的相关资料,需要的朋友可以参考下。
    2017-07-07
  • Node.js获取前端ajax提交的request信息

    Node.js获取前端ajax提交的request信息

    这篇文章主要为大家详细介绍了Node.js获取前端ajax提交的request信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02

最新评论

?


http://www.vxiaotou.com