【Node.js24.x】Object::lutimes()メソッドの使い方
lutimesメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
lutimesメソッドは、指定されたファイルのアクセス時刻(atime)と更新時刻(mtime)を変更するメソッドです。このメソッドは、ファイルシステム上でファイルの最終アクセス日時や最終更新日時を、開発者が任意に設定したい場合に利用されます。
特に重要な点として、もし指定されたパスがシンボリックリンクであった場合、lutimesメソッドはシンボリックリンクそのものの時刻ではなく、そのシンボリックリンクが指し示している**元のファイル(実体)**の時刻を変更します。シンボリックリンク自身の時刻を変更したい場合には、異なるメソッドを使用する必要がありますのでご注意ください。
このメソッドは、変更したいファイルのパスを第一引数として受け取り、第二引数には新しいアクセス時刻を、第三引数には新しい更新時刻を指定します。これらの時刻は、ミリ秒単位の数値、JavaScriptのDateオブジェクト、またはBigInt型で指定することが可能です。
lutimesメソッドは非同期的に動作するため、ファイルの時刻変更処理が完了するまでプログラムの実行をブロックしません。処理の完了やエラーの発生は、コールバック関数を通じて通知されるか、Promiseとして処理されます。これにより、I/O処理中に他のタスクを実行でき、アプリケーションの応答性を高めます。ファイルが見つからない、または時刻を変更する権限がないなどの問題が発生した場合は、エラーが適切に通知されます。
構文(syntax)
1import { promises as fs } from 'node:fs'; 2 3fs.lutimes('./path/to/symlink', new Date(), Date.now());
引数(parameters)
path, atime, mtime, callback
- path: string | Buffer | URL | fs.PathLike: 変更するファイルのパス
- atime: string | number | Date: アクセス時刻を指定します。秒単位のUNIXタイムスタンプ、またはDateオブジェクトで指定できます。
- mtime: string | number | Date: 更新時刻を指定します。秒単位のUNIXタイムスタンプ、またはDateオブジェクトで指定できます。
- callback: (err: NodeJS.ErrnoException | null) => void: 操作完了後に実行されるコールバック関数。エラーが発生した場合はerrにエラーオブジェクトが渡されます。
戻り値(return)
戻り値なし
戻り値はありません