本文翻译自How to read files using Node and the fs
module
如何使用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()
都在返回数据之前读取内存中文件的全部内容。
这意味着大文件将对您的内存消耗和程序执行速度产生重大影响。
在这种情况下,更好的选择是使用流读取文件内容。
下载我免费的Node.js手册