
Node.js 可以借重 C / C++ 分散 Node.js 的負擔,也可以借 File 存 / 讀資料,這篇就主角就是 File System。
使用 File System 需載入 fs Module ( const fs = require('fs'); ),以下就介紹幾個常用的 Function
| Function | 說明 | 同步 |
|---|---|
| fs.access(path[, mode], callback) | 檢查對檔案的權限 ( Permissions ) ,官方不建議在 fs.open 、 fs.readFile 、 fs.writeFile 前使用,原因是會它們有可以改變檔案權限的能力;此外官方也建議使用這個和 fs.lstat 來檢查檔案是否存在,而過去常用的 fs.exists 已被棄用,只留下同步版的 fs.existsSync | fs.accessSync(path[, mode]) |
| fs.open(path, flags[, mode], callback) | 讀取檔案夾 | fs.openSync(path, flags[, mode]) |
| fs.readFile(file[, options], callback) | 讀取檔案 | fs.readFileSync(file[, options]) |
| fs.mkdir(path[, mode], callback) | 新增資料夾 | fs.mkdirSync(path[, mode]) |
| fs.rmdir(path, callback) | 刪除資料夾 | fs.rmdirSync(path) |
| fs.link(path, dstpath, callback) | 新增檔案 | fs.linkSync(path, dstpath) |
| fs.unlink(path, callback) | 刪除檔案 | fs.unlinkSync(path) |
以上是比較常用的,有寫檔案需求可以看 fs.write() 等 write 函式,我只用過一次;若需要對檔案進行多次的 讀取 (Read) 、 寫入 (Write) ,官方強烈建議要設定對應的 fs.createReadStream 、 fs.createWriteStream。
補充:可以配合之前提到的 __dirname 使用 ( [Day 10] API 尋寶記 - 不知不覺都會用到的 Global )。