走进Node.js(fs文件系统模块)

前言

前面与已经介绍了Node.js的安装配置以及Node.js的简介。那么我们今天一起来走进Node.js。

补充

我们需要在Node.js环境中执行 JavaScript代码
步骤:

  1. 打开终端 输入 cd + 文件路径 //切换路径 (tips: 快捷方式 点开文件夹空白区域 按住 shift+右键)
  2. 输入指令 node + 文件名 //执行JavaScript代码

一、fs 文件系统模块

1.fs.readFile 读取文件

语法

fs.readFile(path [,options],callback)    // tips: [ ] 内是可选参数
  • path       (参数一): 必选参数 表示文件路径
  • options  (参数二): 可选参数 表以什么编码格式读取文件(一般编码格式为 utf-8)
  • callback (参数三): 必选参数 文件读取完后通过回调函数拿到读取的结果 (回调函数)

补充:

callback 回调函数

  1. err:错误信息 (可以返回err.message)
  2. data:读取的数据

2.fs.writeFile 写入文件

fs.writeFile(file,data [,options],callback)    // tips: [ ] 内是可选参数
  • file        (参数一): 必选参数 需要指定一个文件路径的字符串,表示文件的存放路径
  • data      (参数二):必选参数 表示要写入的内容
  • options      (参数三) : 可选参数 表示以什么格式写入文件内容,默认值 utf8
  • callback (参数四): 必选参数 文件读取完后通过回调函数拿到读取的结果 (回调函数)

3.读写文件的案例

原始数据:
在这里插入图片描述

修改后数据

在这里插入图片描述

// 1.导入 fs 模块
const fs = require('fs')

// 2.调用 fs.readFile() 方法 读取内容
fs.readFile('./成绩.txt','utf8',function(err,dataStr){

// 3.判断是否读取成功

    if(err)
    {
        return console.log('文件读取失败 '+ err.message)
    }

// 4. 先把成绩的数据按照空格进行分割
    const arrOld = dataStr.split(' ')
// console.log(arrOld)
// 5. 循环分割后的数组,对每一项数据,进行字符串替换操作
    const arrNew = []
    arrOld.forEach(item => {
    arrNew.push(item.replace('=',':'))
})
// 6. 把新数组中的每一项,进行合并,得到一个新的字符串
// console.log(arrNew)
    const arrStr = arrNew.join('\r\n')
    // console.log(arrStr)

fs.writeFile('./成绩.txt',arrStr,'utf8',function(err){
    if(err){
        return console.log('写入文件失败' + err.message)
    }else{
        return console.log('写入文件成功')
    }
})
})

4.路径动态拼接问题

引出问题:

  • 在使用 fs 模块操作文件时,如果提供的操作路径是以 ./ 或 …/ 开头的相对路径时,容易出现路径动态拼接错误的问题

出现问题的原因:

  • 代码在运行的时候,会以执行 node 命令时所处的目录,动态拼接出被操作文件的完整路径

解决方法:

  • 在使用fs模板操作文件时,直接提供完整的路径。

代码示例:

fs.readFile(__dirname + '/code/1.txt', 'utf8', function(err, data) {
  ...
})

小结

以上就是Node.js的 fs文件系统模块 ,后续将会围绕Node.js的相关内容及其知识点不定期持续更新,感谢你们的关注和陪伴!(若有错误,请批评改正,谢谢~)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小石Sir.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值