node对文件的读取和修改

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()方法对同一个文件操作的时候会把新的内容覆盖掉旧的内容

解决方法:

  1. 使用绝对路径可以解决这个问题(但是移植性特别差,不利于维护)
  2. node提供的 __dirname 表示当前文件所处的目录

猜你喜欢

转载自blog.csdn.net/weixin_50656154/article/details/126966222