從檔案非同步讀取
使用 filesystem 模組進行所有檔案操作:
const fs = require('fs');
使用編碼
在此示例中,從/tmp
目錄中讀取 hello.txt
。此操作將在後臺完成,並在完成或失敗時進行回撥:
fs.readFile('/tmp/hello.txt', { encoding: 'utf8' }, (err, content) => {
// If an error occurred, output it and return
if(err) return console.error(err);
// No error occurred, content is a string
console.log(content);
});
沒有編碼
從當前目錄中讀取二進位制檔案 binary.txt
,在後臺非同步。請注意,我們不設定’encoding’選項 - 這會阻止 Node.js 將內容解碼為字串:
fs.readFile('binary', (err, binaryContent) => {
// If an error occurred, output it and return
if(err) return console.error(err);
// No error occurred, content is a Buffer, output it in
// hexadecimal representation.
console.log(content.toString('hex'));
});
相對路徑
請記住,在一般情況下,你的指令碼可以使用任意當前工作目錄執行。要解決相對於當前指令碼的檔案,請使用 __dirname
或 __filename
:
fs.readFile(path.resolve(__dirname, 'someFile'), (err, binaryContent) => {
//Rest of Function
}