什么是fs文件系统模块
fs 模块是 Node.js 官方提供的、用来操作文件的模块。它提供了一系列的方法和属性,用来满足用户对文件的操作需求。
例如:
- fs.readFile() 方法,用来读取指定文件中的内容
- fs.writeFile() 方法,用来向指定的文件中写入内容
fs.readFile() 的语法格式
使用 fs.readFile() 方法,可以读取指定文件中的内容,语法格式如下:
参数解读:
- 参数1:必选参数,字符串,表示文件的路径。
- 参数2:可选参数,表示以什么编码格式来读取文件。
- 参数3:必选参数,文件读取完成后,通过回调函数拿到读取的结果
fs.writeFile() 的语法格式
使用 fs.writeFile() 方法,可以向指定的文件中写入内容,语法格式如下:
参数解读:
- 参数1:必选参数,需要指定一个文件路径的字符串,表示文件的存放路径。
- 参数2:必选参数,表示要写入的内容。
- 参数3:可选参数,表示以什么格式写入文件内容,默认值是 utf8。
- 参数4:必选参数,文件写入完成后的回调函数。
整理成绩案例
磁盘中有一个成绩.txt文档,内容如下
把里面的内容整理成如下格式并且写入到一个新文件
代码如下:
//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.1先把成绩的数据按照空格进行分割
const arrOld = dataStr.split(' ')
//4.2循环分割后的数组,对每一项数据,进行字符串的替换操作
const arrNew = []
arrOld.forEach(item => {
arrNew.push(item.replace('=',': '))
})
//4.3把新数组的每一项进行合并,得到一个新的字符串
const newStr = arrNew.join('\r\n')
//5.调用fs.writeFile()方法,把处理完毕的数据,写入到新文件中
fs.writeFile('./成绩-ok.txt',newStr,function(err){
if(err){
return console.log(写入文件失败)
}
console.log('写入文件成功')
})
})