[Node.js] 學習筆記:同步/非同步讀取檔案內容

[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);
});

 

 

 

(本頁面已被瀏覽過 243 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料