前言
前面与已经介绍了Node.js的安装配置以及Node.js的简介。那么我们今天一起来走进Node.js。
补充
我们需要在Node.js环境中执行 JavaScript代码
步骤:
- 打开终端 输入 cd + 文件路径 //切换路径 (tips: 快捷方式 点开文件夹空白区域 按住 shift+右键)
- 输入指令 node + 文件名 //执行JavaScript代码
一、fs 文件系统模块
1.fs.readFile 读取文件
语法
fs.readFile(path [,options],callback) // tips: [ ] 内是可选参数
- path (参数一): 必选参数 表示文件路径
- options (参数二): 可选参数 表以什么编码格式读取文件(一般编码格式为 utf-8)
- callback (参数三): 必选参数 文件读取完后通过回调函数拿到读取的结果 (回调函数)
补充:
callback 回调函数
- err:错误信息 (可以返回err.message)
- 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的相关内容及其知识点不定期持续更新,感谢你们的关注和陪伴!(若有错误,请批评改正,谢谢~)