Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ Node.jsでのファイルシステムの操作 | Node.jsとExpress.jsによるコンソールアプリケーションの構築
Node.jsとExpress.jsによるバックエンド開発

bookNode.jsでのファイルシステムの操作

メニューを表示するにはスワイプしてください

FileSystem モジュール(fs)は、Node.js のコアモジュールであり、ファイルをプログラムから操作するための強力な機能を提供。設定管理、データ構成の処理、ファイル内容の読み書きなど、さまざまなタスクで活用可能。

fs.readFile によるファイル読み込み

fs.readFile メソッドは、ファイルの内容で解決されるプロミスを返す。非同期でファイルを読み込むことができ、テキストファイルやバイナリファイルの読み込みに適している。

fs.readFile(path, options)
  • path - 読み込むファイルのパス;
  • options - エンコーディングなどのオプションを指定する任意のオブジェクト。

動的なブログプラットフォームを構築する場合、fs.readFile メソッドが活躍し、ファイルからブログ記事の内容を素早く取得できる。

コード例:内容の読み込み

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

fs.readFile('blog-post.txt', 'utf-8')
  .then(content => {
    console.log('Current content:', content);
  })
  .catch(err => {
    console.error('Error reading file:', err);
  });

ステップごとの解説

fs.writeFileによるファイル書き込み

fs.writeFileメソッドは、ファイルの書き込みが完了したときに解決されるプロミスを返します。新規または既存のファイルに非同期でデータを書き込むために使用されます。データ、エンコーディング、ファイル権限などのオプションを指定できます。

fs.writeFile(file, data, options)
  • file - 書き込み先のファイルパス;
  • data - 書き込むデータ(文字列またはバッファ);
  • options - エンコーディングやファイルモードなどのオプションを指定する任意のオブジェクト。

新しいユーザーをuser-db.jsonファイルに保存する必要があるとします。ここでfs.writeFileメソッドは、データが正しく保存されることを保証します。

コード例:ユーザーデータの書き込み

const fs = require("fs").promises;

const newUser = {
  id: 1,
  username: "Nero",
  email: "arman@example.com",
};

const fileName = "user-db.json";

fs.writeFile(fileName, JSON.stringify(newUser), "utf-8")
  .then(() => {
    console.log("User information saved successfully.");
  })
  .catch((err) => {
    console.error("Error writing file:", err);
  });

ステップごとの解説

fs.appendFileによる拡張

fs.appendFileメソッドは、データの追加が完了したときに解決されるプロミスを返します。既存のファイルに非同期でデータを追加し、既存の内容を保持します。

fs.appendFile(file, data, options)
  • file - データを追加するファイルパス;
  • data - 追加するデータ(文字列またはバッファ);
  • options - エンコーディングやファイルモードなどのオプションを指定する任意のオブジェクト。

活発なチャットアプリケーションが会話を記録している様子を想像してください。新しいメッセージが流れるたびに、fs.appendFileメソッドはチャットログに新しいメッセージを追加し、過去のやり取りを保持します。

コード例:チャットメッセージの追加

const fs = require("fs").promises;

const newMessage = "User2: Hello, how are you?";

fs.appendFile("chat.txt", newMessage + "\n")
  .then(() => {
    console.log("Message added to chat log.");
  })
  .catch((err) => {
    console.error("Error appending message:", err);
  });

ステップバイステップの説明

注意

  • fs.writeFile はファイルの内容を完全に置き換える、または新しいファイルを作成するために使用;
  • fs.appendFile は既存ファイルの末尾に新しいデータを追加し、既存の内容を上書きしないために使用。

1. fs モジュールは、ファイルをプログラムで操作することを可能にする。

2. ファイルの内容を読み取るために使用するメソッドはどれですか?

3. fs.appendFilefs.writeFileとどのように異なりますか?

question mark

fs モジュールは、ファイルをプログラムで操作することを可能にする。

正しい答えを選んでください

question mark

ファイルの内容を読み取るために使用するメソッドはどれですか?

正しい答えを選んでください

question mark

fs.appendFilefs.writeFileとどのように異なりますか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 2.  3

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 2.  3
some-alt