ホームページ >ウェブフロントエンド >jsチュートリアル >node.jsでファイルシステムを使用する方法
node.jsは、ロギング、ファイル転送、コマンドラインツールなどのタスクに不可欠なファイルシステムインタラクションに堅牢なAPIを提供します。 ただし、効果的なファイル処理には、クロスプラットフォームの互換性とエラー管理を慎重に検討する必要があります。
クロスプラットフォームの考慮事項:さまざまなオペレーティングシステム(Windows、MacOS、Linux)は、ファイルのパスと文字を異なって処理します。 パス操作には常にモジュールを使用して、プラットフォーム間で一貫した動作を確保してください。
node:path
操作を実行する前に、常にファイルの存在とアクセス許可を検証します。 削除されたファイルや許可の問題などの状況を優雅に管理するための堅牢なエラー処理を実装してください。 重要な概念:
node:fs
モジュール:node:path
などの関数を提供します
join
非同期操作:resolve
イベントループのブロックを防ぎ、アプリケーションの応答性を維持するのを防ぐために、非同期方法(約束または非同期/待ち望を使用)に優先順位を付けます。
normalize
try...catch
ファイルの読み取り:
ファイルコンテンツ全体を読み取ります。 node:fs
行ごとに読み取ります。ストリームは、大きなファイルの効率的な処理を提供します
readFile()
readLines()
writeFile()
ディレクトリを削除します。appendFile()
mkdir()
ファイル許可をチェックします。readdir()
rmdir()
stat()
access()
async/await
を使用したコールバックよりもクリーンな構文を提供し、イベントループのブロックを避けます。
Sync
同時アプリケーションのパフォーマンスに深刻な影響を与える可能性があるため、絶対に必要な場合(例えば、CLIツールの小さな構成ファイル)。
watch()
例(async/awaitで約束):その他のリソース:
<code class="language-javascript">import { readFile, writeFile, stat } from 'node:fs/promises'; import * as path from 'node:path'; async function processFile(filePath) { try { const fileStats = await stat(filePath); if (fileStats.isFile()) { const content = await readFile(filePath, 'utf8'); // Process the file content await writeFile(path.join(path.dirname(filePath), 'output.txt'), content.toUpperCase()); } else { console.error('Not a file:', filePath); } } catch (err) { console.error('Error processing file:', err); } } processFile('./myfile.txt');</code>
node.jsドキュメント:
包括的な詳細については、node:fs
必要に応じて高レベルのファイルシステムライブラリについてnpmを探索します。
node:path
以上がnode.jsでファイルシステムを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。