【Node.js24.x】Object::copyFileSync()メソッドの使い方
copyFileSyncメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
copyFileSyncメソッドは、指定されたファイルを同期的にコピーするメソッドです。このメソッドは、Node.jsのfs(ファイルシステム)モジュールの一部として提供されており、プログラム内でファイルの複製を必要とする際に利用されます。
ファイルのコピー元となるパスを第一引数に、コピー先となるパスを第二引数に指定します。第三引数にはオプションとしてフラグを指定でき、例えばfs.constants.COPYFILE_EXCLというフラグを使用すると、コピー先に同名のファイルがすでに存在する場合にエラーを発生させ、意図しない上書きを防ぐことができます。フラグを指定しない場合、コピー先にファイルが既に存在すれば上書きされます。
このメソッドの最大の特徴は、その処理が「同期」である点です。同期処理とは、ファイルコピーが完全に完了するまでプログラムの実行が一時停止し、コピーが完了してから次の処理へと進むことを意味します。そのため、コピー中にファイルが見つからない、アクセス権がないなどのエラーが発生した場合、その場で例外がスローされます。呼び出し元のプログラムは、この例外をtry...catch構文などで捕捉し、適切にエラー処理を行う必要があります。
copyFileSyncメソッドは、アプリケーションの起動時や設定ファイルの読み込み、または小さなファイルの移動など、プログラム全体の進行をブロックしても問題ない、またはブロックすべき厳密な順序付けが必要な場面でのファイルコピーに適しています。しかし、大規模なファイルや多数のファイルをコピーする際には、アプリケーション全体の応答性を保つために、非同期版のfs.copyFileメソッドの利用も検討すると良いでしょう。
構文(syntax)
1const fs = require('fs'); 2 3fs.copyFileSync('source.txt', 'destination.txt');
引数(parameters)
src, dest, mode = 0
- src: string: コピー元のファイルパス
- dest: string: コピー先のファイルパス
- mode: number = 0: コピー先のファイルのパーミッションを指定する数値(省略可)
戻り値(return)
戻り値なし
戻り値はありません