1:读文件:
readFile()
readFile(path, [optiions, ] callback)
path:路径
options:读取格式
callback:回调函数
2:写文件:
writeFile()
writeFile(path, data, [optiions, ] callback)
path:路径
data: 写入数据内容
options:读取格式
callback:回调函数
// 导入fs模块
const fs = require('fs')
// 调用readFile()读取文件
// 判断文件是否读取成功
fs.readFile(__dirname + '/files/try.txt', 'utf-8', function(err, dataStr) {
// 看 err 是否为 null 来进行判断
if (err) {
return console.log('读取文件失败', err.message)
} else {
console.log('读取成功')
}
})
// 调用writeFile()写入内容,如果写入路径的文件找不到,路径正确会自动创建文件
// 注意:writeFile()不会自动创建路径
// 判断是否写入成功
fs.writeFile(__dirname + '/files/try.txt', '写入文本', 'utf-8', function(err) {
if (err) {
return console.log('写入文件失败', err.message)
}else {
console.log('写入成功')
}
})
注意:
关于path的问题,当用 ./ 或者 ../ 开头的相对路径时候,容易出现问题,node会根据当前运行文件的路径来动态的拼接path路径
writeFile()方法可以创建文件但是不能创建路径
writeFile()方法对同一个文件操作的时候会把新的内容覆盖掉旧的内容
解决方法:
- 使用绝对路径可以解决这个问题(但是移植性特别差,不利于维护)
- node提供的 __dirname 表示当前文件所处的目录