[Node.js] 學習筆記:同步/非同步讀取檔案內容
Learnyounode 的第三四課,是利用 Node.js 提供的 fs 模組,
來完成檔案的同步/非同步讀取~
同步讀取可以用 readFileSync() 來達成,這邊要記得給一個 encoding 的參數,
才會直接傳回字串,否則會傳回一個 Buffer 物件,
這樣就還得用 buffer.toString() 才能拿到字串內容了:
var fs = require("fs"); data = fs.readFileSync(process.argv[2], "utf-8");
比較特別的是,這邊的 encoding 參數可以直接給一個字串,
也可以是一個 { encoding: “utf-8” } 這樣的 map,Node.js 都看得懂~
非同步讀取的話可以用 readFile() 達成,除了 encoding 之外,
還要給一個 callback function,
等檔案讀取完畢之後,再在 callback function 裡面處理內容:
var fs = require("fs"); fs.readFile(process.argv[2], "utf-8", function(err, data) { if (err) { throw err; } console.log(data); });
(本頁面已被瀏覽過 480 次)