用Node读取文件的方法

110 阅读1分钟

如何使用Node和`fs`模块来读取文件

在Node中读取文件的最简单方法是使用fs.readFile() 方法,将文件路径和一个回调函数传递给它,该函数将被调用,并带有文件数据(和错误)。

const fs = require('fs')

fs.readFile('/Users/flavio/test.txt', (err, data) => {
  if (err) {
    console.error(err)
    return
  }
  console.log(data)
})

另外,你也可以使用同步版本的fs.readFileSync()

const fs = require('fs')

try {
  const data = fs.readFileSync('/Users/flavio/test.txt', 'utf8')
  console.log(data)
} catch (err) {
  console.error(err)
}

默认编码是utf8,但你可以使用第二个参数指定一个自定义编码。

fs.readFile()fs.readFileSync() 在返回数据之前都会在内存中读取文件的全部内容。

这意味着大文件会对你的内存消耗和程序的执行速度产生重大影响。

在这种情况下,一个更好的选择是使用流读取文件内容。