![File System: Node.js `fs` Module](https://img.php.cn/upload/article/000/000/000/172448289429999.jpg)
Node.js の fs (ファイル システム) モジュールは、ファイル システムを操作するための強力なツールであり、サーバー上のファイルやディレクトリと対話できるようになります。これは Node.js に組み込まれているため、使用するために追加のものをインストールする必要はありません。 fs の仕組みとその主要な機能を見てみましょう。
1. fs モジュールとは何ですか?
fs モジュールは、標準の POSIX 関数を中心に厳密にモデル化された方法でファイル システムと対話するための API を提供します。このモジュールは、ファイルの読み取りと書き込み、ディレクトリの作成などのタスクに使用されます。
2. 基本的なセットアップ
fs モジュールを使用するには、Node.js スクリプトの先頭でそれを要求する必要があります:
リーリー
3. ファイルの読み込み
ファイルを読み取るには、主に非同期と同期の 2 つの方法があります。
非同期読み取り
このメソッドはノンブロッキングです。つまり、ファイルの読み取り中にプログラムの実行は停止しません。
リーリー
- 「example.txt」: 読み込むファイル。
- 'utf8': 使用するエンコーディングを指定します。
- コールバック関数: エラーとファイルデータを処理します。
同期読み取り
このメソッドはブロッキングです。つまり、ファイルが読み取られるまでプログラムの実行が停止します。
リーリー
4. ファイルの書き込み
ファイルの読み取りと同様に、書き込みも非同期または同期で実行できます。
非同期書き込み
リーリー
同期書き込み
リーリー
5. ファイルへの追加
既存のファイルに上書きせずにコンテンツを追加する場合は、appendFile メソッドを使用します。
非同期追加
リーリー
同期追加
リーリー
6. ファイルの削除
ファイルを削除するには、unlink メソッドを使用します。
非同期削除
リーリー
同期削除
リーリー
7. ディレクトリの操作
ディレクトリの作成
リーリー
ディレクトリの読み取り
リーリー
ディレクトリの削除
リーリー
8. ファイルの監視
fs.watch メソッドを使用して、ファイル内の変更を監視できます。
リーリー
9. ストリームの操作
Node.js は、メモリに収まらない可能性のある大きなファイルを処理するための fs ストリームを提供します。
ストリームを使用した読み取り
リーリー
ストリームを使用した書き込み
リーリー
10. ファイルのコピー
Node.js は、ファイルをコピーするための簡単な方法を提供します:
リーリー
11. 約束のFS
fs モジュールには Promise ベースのメソッドもあり、async/await などの最新の JavaScript 機能を簡単に操作できます。
リーリー
12. 実際の使用例
- 構成ファイル: 設定を保存するために構成ファイル (JSON ファイルなど) を読み書きします。
- ログ ファイル: アプリケーション イベントを追跡するためにログ ファイルに追加します。
- ファイルのアップロード: アップロードされたファイルを保存および取得します。
- データ処理: ストリームを使用して、大規模なデータセットを効率的に読み取り、処理、書き込みします。
13. エラー処理とベストプラクティス
常にコールバック関数でエラーを処理するか、同期コードで try-catch ブロックを使用してください。
ほとんどの場合、パフォーマンスを向上させるには、非同期メソッドを使用します。
よりクリーンで最新のコードを実現するには、fs.promises の使用を検討してください。
同期メソッドはイベント ループをブロックする可能性があるため注意してください。
ファイル システム フラグには fs.constants を使用します (例: 読み取り専用アクセスの場合は fs.constants.O_RDONLY)。
14. セキュリティに関する考慮事項
ファイル パスを検証してサニタイズし、ディレクトリ トラバーサル攻撃を防ぎます。
- ユーザーが指定したファイル名またはパスを操作する場合は注意してください。
- ファイルやディレクトリを作成または変更するときは、適切なファイル権限を使用してください。
15. 結論
fs モジュールは多用途であり、ファイル システムと対話する必要がある Node.js アプリケーションにとって不可欠です。そのさまざまな方法を理解し、ストリームを効率的に処理し、ベスト プラクティスを採用することで、Node.js でのファイル操作を効果的かつ安全に管理できるようになります。
fs モジュールの最新情報と追加機能については、必ず公式 Node.js ドキュメントを参照してください。
以上がファイル システム: Node.js `fs` モジュールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。