如何使用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() 在返回数据之前都会在内存中读取文件的全部内容。
这意味着大文件会对你的内存消耗和程序的执行速度产生重大影响。
在这种情况下,一个更好的选择是使用流读取文件内容。