fs文件模块系统:
fs模块是Node.js 官方提供的,用来操作文件的模块,他提供了一系列的方法和属性,用来满足用户对文件的操作需求
1.fs中的fs.readFile()方法
语法:fs.readFile('读取文件的路径',‘编码格式’,回调函数function(err, dataStr){})
作用:读取某个文件的内容
参数1:必须参数,读取文件存放的路径
参数2:非必须参数,读取文件时采用的编码格式,一般默认值为 utf8
参数3:必须参数,回调函数,拿到读取失败和成功的结果 err dataStr
注意:如果读取成功 err 的值为 null 如果读取成功 err 的值为 错误对象 , dataStr 的值为undefi
代码模块展示:
// 导入 fs 模块,来操作文件
const fs = require('fs')
// 2.调用 fs.readFile() 方法读取文件
// 参数1:读取文件的存放路径
// 参数2:读取文件时采用的编码格式,一般默认指定 utf8 (可以省略)
// 参数3:回调函数,拿到读取失败和成功的结果 err dataStr
fs.readFile('1.txt', 'utf8', function(err, dataStr) {
// 2.1打印失败的结果
// 如果读取成功 err 的值为 null
// 如果读取失败 err 的值为 错误对象,dataStr 的值为 undefined
console.log(err)
// 2.2打印成功的结果
console.log(dataStr)
})
2.fs.writeFile() 方法
语法:fs.readFile('写入文件的路径',‘写入的数据,’‘编码格式’,回调函数function(err){})
作用:读取某个文件的内容
参数1:必须参数 写入文件的路径
参数2:必须参数 要写入文件的内容
参数3;非必须参数 内容的编码格式 默认时utf8
参数4:必须参数 回调函数
注意:如果写入成功 err 的值为 null 如果写入失败 err 的值为 一个错误对象
代码模块展示:
// 1.导入 fs 文件系统模块
const fs = require('fs')
// 2.调用 fs.writeFile() 方法,写入文件内容
// 参数1:必须参数 写入文件的路径
// 参数2:必须参数 要写入文件的内容
// 参数3;非必须参数 内容的编码格式 默认时utf8
// 参数4:必须参数 回调函数
fs.writeFile('2.txt', 'nihao', function(err) {
// 如果写入成功 err 的值为 null
// 如果写入失败 err 的值为 一个错误对象
console.log(err)
})
利用文件的读写完成成绩整理案例:
// 1.导入 fs 文件模块系统
const fs = require('fs')
// 2.调用 fs.readFile() 方法读取文件
fs.readFile('files/5-成绩.txt','utf8', function(err, dataStr) {
// 3.判断文件是否读取成功
if (err) {
return console.log('文件读取失败' + err.message)
}
let newArr = []
// 4.1将读取到的字符串数据转换为数组.并用空格进行分隔
const arrOld = dataStr.split(' ')
// 4.2遍历数组,将数组中每一项的 = 替换成 :并添加到新数组中
arrOld.forEach(item => newArr.push(item.replace('=', ':')))
// 4.3将新数组转为字符串
let res = newArr.join('\r\n')
// 5.将得到的数据写到新的成绩文件中
fs.writeFile('files/5-成绩ok.txt', res, function(err) {
//5.1判断文件是否写入成功
if (err) {
return console.log('文件写入失败', err.message)
}
return console.log('文件写入成功')
})
})