引言:书接上回,说完了,怎么读取文件和写入文件,现在需要来一题实战一下,这道题还是蛮有意思的,有兴趣的就跟着练习一下,我是觉得黑马的老师都是非常可爱的那种,连题目都很有意思。
题目:
使用fs文件系统模块,将素材目录下成绩.txt文件中的考试数据,整理到成绩-ok.txt文件中。
整理前,成绩.txt文件中的数据格式如下:
小红=99 小白=100 小黄=70 小黑=66 小绿=88
整理完成之后,希望得到的成绩-ok.txt文件中的数据格式如下:
1 小红:99
2 小白:100
3 小黄:70
4 小黑:66
5 小绿:88
核心实现步骤:
- 导入需要的fs文件系统模块
- 使用fs.readFile()方法,读取素材目录的成绩.txt文件
- 判断文件是否读取失败
- 文件读取成功后,处理成绩数据
- 将处理完成的成绩数据,调用fs.writeFile()方法,写入到的新文件成绩-ok.txt中
代码:
//1、导入fs模块
const fs = require('fs')
//2、调用fs.readFile()读取文件的内容
fs.readFile('./cj.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('./cj.txt', newStr, function (err) {
if (err) {
return console.log('写入文件失败!' + err.message)
}
console.log('成绩写入成功!')
})
})
结语:
这么努力更新的博主,给个赞再走吧,对上面这个练习呢,我是觉得很有意思的,有空或者你也觉得有意思的话,不妨动手写一下,推荐歌曲《神魂颠倒》