跳至主要内容

[Node] File System, fs

const fs = require('fs');
const fsPromises = fs.promises;
const fse = require('fs-extra');

async function main() {
/**
* 讀檔 fs.readFile(path [,options ])
*/
const buffer = await fsPromises.readFile('./helpers.js'); // 回傳 buffer
const text = await fsPromises.readFile('./helpers.js', 'utf-8'); // 回傳 utf-8 文字檔
const fileStats = await fsPromises.stat('./helpers.js'); // 檢視檔案資訊

/**
* 寫檔 fs.writeFile(filename, data [,options])
*/
await fsPromises.mkdir('./tmp', { recursive: true }); // 建立資料夾,先建立才可以在裡面新增檔案
await fsPromises.writeFile('./tmp/newHelper.js', buffer); // 新增檔案

await helpers.sleep(1500);

/**
* 刪檔
*/
await fse.emptyDir('./tmp'); // 刪除資料夾
}

fs.createWriteStream(path)

const file = fs.createWriteStream('zh_TW.json');
file.write(data);
file.end();

fs.stat(path, cb) / fs.statSync(path)

如果在呼叫 fs.open(), fs.readFile(), fs.writeFile() 前想要先檢驗檔案是否存在時,並不建議使用 fs.state() 方法,而是應該直接呼叫 open/read/write 的方法,當檔案不存在時進行錯誤處理。

若只是要檢查檔案是否存在,而沒有要對檔案做後續處理的話,建議使用 fs.access() 方法。

參考