如何使用 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()
這兩個方法在返回數據之前將完整的文件內容讀取到內存中。
這意味著,處理大文件將對內存消耗和程序執行速度產生較大的影響。
在這種情況下,更好的選擇是使用流(stream)來讀取文件內容。