Node.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.appendFileはfs.writeFileとどのように異なりますか?
すべて明確でしたか?
フィードバックありがとうございます!
セクション 2. 章 3
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 2. 章 3