Node.js の fs (ファイル システム) モジュールは、ファイル システムを操作するための強力なツールであり、サーバー上のファイルやディレクトリを操作できるようになります。これは Node.js に組み込まれているため、使用するために追加のものをインストールする必要はありません。 fs の仕組みとその主要な機能を見てみましょう。
fs モジュールは、標準の POSIX 関数を中心に厳密にモデル化された方法でファイル システムと対話するための API を提供します。このモジュールは、ファイルの読み取りと書き込み、ディレクトリの作成などのタスクに使用されます。
fs モジュールを使用するには、Node.js スクリプトの先頭でそれを要求する必要があります。
const fs = require('fs');
ファイルを読み取るには、主に非同期と同期の 2 つの方法があります。
このメソッドはノンブロッキングです。つまり、ファイルの読み取り中にプログラムの実行は停止しません。
fs.readFile('example.txt', 'utf8', (err, data) => { if (err) { console.error(err); return; } console.log(data); });
このメソッドはブロックしています。つまり、ファイルが読み取られるまでプログラムの実行が停止します。
try { const data = fs.readFileSync('example.txt', 'utf8'); console.log(data); } catch (err) { console.error(err); }
ファイルの読み取りと同様に、書き込みも非同期または同期で実行できます。
fs.writeFile('example.txt', 'Hello, World!', (err) => { if (err) { console.error(err); return; } console.log('File has been saved!'); });
try { fs.writeFileSync('example.txt', 'Hello, World!'); console.log('File has been saved!'); } catch (err) { console.error(err); }
既存のファイルに上書きせずにコンテンツを追加したい場合は、appendFile メソッドを使用します。
fs.appendFile('example.txt', '\nAppended Content', (err) => { if (err) { console.error(err); return; } console.log('Content has been appended!'); });
try { fs.appendFileSync('example.txt', '\nAppended Content'); console.log('Content has been appended!'); } catch (err) { console.error(err); }
ファイルを削除するには、unlink メソッドを使用します。
fs.unlink('example.txt', (err) => { if (err) { console.error(err); return; } console.log('File deleted!'); });
try { fs.unlinkSync('example.txt'); console.log('File deleted!'); } catch (err) { console.error(err); }
fs.mkdir('newDir', { recursive: true }, (err) => { if (err) { console.error(err); return; } console.log('Directory created!'); });
fs.readdir('newDir', (err, files) => { if (err) { console.error(err); return; } console.log('Files in directory:', files); });
fs.rmdir('newDir', { recursive: true }, (err) => { if (err) { console.error(err); return; } console.log('Directory deleted!'); });
fs.watch メソッドを使用して、ファイル内の変更を監視できます。
fs.watch('example.txt', (eventType, filename) => { if (filename) { console.log(`${filename} file Changed!`); } });
Node.js は、メモリに収まらない可能性のある大きなファイルを処理するための fs ストリームを提供します。
const readStream = fs.createReadStream('example.txt', 'utf8'); readStream.on('data', (chunk) => { console.log(chunk); });
const writeStream = fs.createWriteStream('example.txt'); writeStream.write('Hello, '); writeStream.write('World!'); writeStream.end();
Node.js は、ファイルをコピーするための簡単な方法を提供します。
fs.copyFile('source.txt', 'destination.txt', (err) => { if (err) { console.error(err); return; } console.log('File copied successfully!'); });
fs モジュールには Promise ベースのメソッドもあり、async/await などの最新の JavaScript 機能を簡単に操作できます。
const fsPromises = require('fs').promises; async function readFile() { try { const data = await fsPromises.readFile('example.txt', 'utf8'); console.log(data); } catch (err) { console.error(err); } } readFile();
fs モジュールは多用途であり、ファイル システムと対話する必要がある Node.js アプリケーションにとって不可欠です。そのさまざまな方法を理解し、ストリームを効率的に処理し、ベスト プラクティスを採用することで、Node.js でのファイル操作を効果的かつ安全に管理できるようになります。
fs モジュールの最新情報と追加機能については、必ず公式 Node.js ドキュメントを参照してください。
以上がファイル システム: Node.js `fs` モジュールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。