Skip to content
本站總訪問量
本站訪客數 人次

Node.js fs

讀取檔案

要讀取檔案,可以使用 fs.readFile() 方法。這個方法會非同步地讀取檔案內容並將其作為緩衝區返回。以下是一個讀取 HTML 檔案的範例:

javascript
const fs = require('fs');

fs.readFile('demofile1.html', (err, data) => {
  if (err) throw err;
  console.log(data.toString());
});

寫入檔案

你可以使用 fs.appendFile()fs.open()fs.writeFile() 等方法來建立和寫入檔案。例如,要建立一個新檔案並寫入內容:

javascript
const fs = require('fs');

fs.writeFile('mynewfile.txt', 'Hello content!', (err) => {
  if (err) throw err;
  console.log('Saved!');
});

更新檔案

要更新檔案,可以使用 fs.appendFile() 將內容添加到檔案末尾,或使用 fs.writeFile() 替換檔案內容:

javascript
const fs = require('fs');

fs.appendFile('mynewfile.txt', ' This is my text.', (err) => {
  if (err) throw err;
  console.log('Updated!');
});

刪除檔案

javascript
const fs = require('fs');

fs.unlink('mynewfile.txt', (err) => {
if (err) throw err;
console.log('File deleted!');
});

使用Promises

javascript
const fs = require('fs').promises;

async function readFile(filePath) {
try {
const data = await fs.readFile(filePath);
console.log(data.toString());
} catch (error) {
console.error(`Got an error trying to read the file: ${error.message}`);
}
}

readFile('greetings.txt');

這段程式碼會刪除名為 mynewfile.txt 的檔案。如果刪除過程中發生錯誤,會拋出異常並顯示錯誤訊息。

範例

取一個in.txt裡的文字內容,要把所有question裡的值都從文字檔裡抓出來,最後輸出到out.txt

main.js

javascript
const fs = require("fs");
fs.readFile("in.txt", "utf8", (err, data) => {
  const regex = /question:\s*"([^"]+)"/gm;
  let match;
  while ((match = regex.exec(data))) {
    fs.appendFileSync("out.txt", match[1] + "\n");
    console.log(match[1]);
  }
});

out.txt

txt
{ question: "hello", answer: "h" },{ question: "abc", answer: "a" },
{ question: "today", answer: "t" }

Contributors

The avatar of contributor named as lucashsu95 lucashsu95

Changelog