Node.js で、ファイルを操作します。

Node.js の中の fs モジュールを、requireで呼び出しましょう。

const fs = require("fs");

ファイルの変更を監視する

テストとして、中身が空の test.txt ファイルを作成します。

test.txt ファイルが変更されたかどうかを監視するために、fs.watchを使います。

fs.watch の中の第一引数は監視対象である test.txt、第二引数はコールバック関数を指定します。

fs.watch("test.txt", () => console.log("File changed"));

ターミナルで『node index.js』を実行すると、監視モードになります。

text.txt に適当な文字を入力して、保存します。

ターミナルを確認すると、

image2

保存するたびに、fs.watch の第二引数で指定した『File changed』が表示されます。

ファイルの内容を読み込む

まずは、読み込む対象のファイルを指定します。

const fileName = "test.txt";

fs.readFileを使って、ファイルを読み込みます。

第一引数には fileName、第二引数にはエラーとデータを指定します。

fs.readFile(fileName, (err, data) => {

});

エラーの場合は、throw を使用します。

fs.readFile(fileName, (err, data) => {
  if (err) {
    throw err;
  }
});

通常の場合は、test.txt の内容を文字列で表示します。

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

test.txt に『今日の天気は、晴れ!』と入力して保存します。

ターミナルを確認すると、

image3

ターミナルに test.txt の内容が表示されました。

ファイルの内容を書き込む

fs.writeFileを使って、ファイルを読み込みます。

第一引数には fileName、第二引数には書き込みたい内容、第三引数にはエラーを指定します。

今回は、第二引数に『明日の天気は、曇り』とします。

fs.writeFile(fileName, "明日の天気は、曇り", (err) => {
  if (err) {
    throw err;
  }
});

ターミナルで『node index.js』を実行後、test.txt を確認すると、

image4

テキストの内容が上書きされました。

ファイルの内容を追記する

fs.appendFileを使って、ファイルを読み込みます。

第一引数には fileName、第二引数には追記したい内容、第三引数にはエラーを指定します。

今回は、第二引数に『時々晴れ!』とします。

fs.appendFile(fileName, "時々晴れ!", (err) => {
  if (err) {
    throw err;
  }
});

ターミナルで『node index.js』を実行後、test.txt を確認すると、

image5

元々の内容である『明日の天気は、曇り』の後ろに、『時々晴れ!』が追記されました。

ブログ一覧