チャレンジ:ファイルシステム操作
メニューを表示するにはスワイプしてください
目標
タスク管理自動化の技術習得。1つのソースからタスクを収集し、その内容を抽出して別のファイルに統合するアプリケーションの開発。途中で発生する可能性のあるエラーも適切に処理すること。
課題
2つのファイルがあると仮定する: tasks.txt は既存のタスク一覧を含み、new-task.txt には tasks.txt ファイルに追加する必要がある単一のタスクが含まれている。
以下の手順に従い、課題を完了し、自身のマシン上で実際に作成する:
- 作業スペースの準備: 新しいフォルダーを作成し、お好みのコードエディタで開く.
- タスクの設定:
tasks.txtファイルを作成し、次のタスクを入力するか、提供された tasks.txt ファイルを利用する:Teach a goldfish 🐠 to play chess ♟️;Build a sandcastle 🏰 in your living room 🛋️;Create a song 🎶 using only sounds from nature 🌿.
- 新しいタスクの定義:
new-task.txtファイルを作成し、次のタスクを入力するか、提供された new-task.txt ファイルを利用する:Invent a new dance move and perform it in public. 💃🕺.
- メインスクリプト: アプリケーションの中核となる
app.jsファイルを作成する.- fsモジュールのインポート: アプリケーションでファイル操作を可能にするため、
fsモジュールをインポートする; - 内容の読み取り:
fsモジュールのreadFile関数を使用してnew-task.txtファイルから内容を抽出する。成功とエラーの両方を管理するために.then()と.catch()を実装する; - 内容の追加:
.then()ブロック内で内容が正常に読み取られたら、appendFile関数を使用して内容をtasks.txtファイルに追加する。内容の後に改行文字 (\n) を付加することを忘れない。
- fsモジュールのインポート: アプリケーションでファイル操作を可能にするため、
- 実行:
app.jsファイルを保存し、ターミナルでnode appコマンドを使用して実行する.
下記のコードエディタを利用する場合、ご自身のファイルは認識されず、進捗も表示されないことにご注意ください。
123456789const fs = require("fs").___; fs.___("new-task.txt", "utf-8") .then(___ => { return fs.___("tasks.txt", ___ + ___); }) .___((error) => { console.log("Error:", error); });
- ファイル操作のために
fsモジュールをインポート。 fs.readFile("new-task.txt", "utf-8")を使用して、new-task.txtファイルから内容を読み取る。.then()をチェーンして、ファイル内容の読み取り成功時の処理を行う。.then()ブロック内で、内容を引数として受け取るコールバック関数を指定。.then()の Promise のreadFileブロック内で、fs.appendFileを使用してtasks.txtファイルに内容を追加する処理を返す。- 追加する内容の区切りとして改行文字
\nを含めること。 .then()操作のappendFileブロックの後に、チェーンして.catch()ブロックでエラー処理を行う。.catch()ブロック内で、エラーを引数として受け取るコールバック関数を指定。.catch()ブロック内で、エラーメッセージと受け取ったエラーをログ出力。- Node.js でスクリプトを実行するには
node appと入力。
const fs = require("fs").promises;
fs.readFile("new-task.txt", "utf-8")
.then((content) => {
return fs.appendFile("tasks.txt", content + "\n");
})
.catch((error) => {
console.log("Error occurred:", error);
});
すべて明確でしたか?
フィードバックありがとうございます!
セクション 2. 章 4
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 2. 章 4