Nodejsアプリケーションでのfs.open()
の使用法を知りたいです。
Nodejsのopen
メソッドとreadfile
メソッドの違いは何ですか?また、それらはどのように機能しますか?
そのファイルに対して複数のアクションを実行する場合は、fs.open()
を呼び出します。 fs.readFile()
のようなメソッドは、ファイルを閉じるのを忘れないようにする単なるショートカットです。 (特にtry/catchのようなあまり目立たないケースです。)しかし、作業中の場合は、同じファイルを常に再度開いたり閉じたりしたくないでしょう。
ドキュメント( http://nodejs.org/api/fs.html )を見ると、fs.read()
の最初の引数はfdであり、fs.readFile()
はファイル名です。 fdは、fs.open()によって返されるオブジェクトである「ファイル記述子」を表します。ファイル名は単なる文字列です。
これは、読み取りと書き込みにfd
を利用する例です。
fs.open('<directory>', 'r+', (err, fd) => {
// r+ is the flag that tells fd to open it in read + write mode.
// list of all flags available: https://nodejs.org/api/fs.html#fs_file_system_flags
// read using fd:https://nodejs.org/api/fs.html#fs_fs_read_fd_buffer_offset_length_position_callback
// write using fd: https://nodejs.org/api/fs.html#fs_fs_write_fd_buffer_offset_length_position_callback
// close the flag: fs.close(fd);
});
はい、上記のように、fs.readFile()を使用すると、ファイルが開かれ、内容が読み取られます。複数の操作を実行する場合、または操作が条件付きの場合は、fs.open()を使用します。 w3schoolsにはいくつかの例があります。 https://www.w3schools.com/nodejs/nodejs_filesystem.asp
Fs.open()を使用すると、ファイルを開いて、いくつかのことを実行できます。読んだり、書いたり、閉じたりします。fs.readFileを使用すると、読み取ったファイルを開いたり閉じたりする必要がありません。詳細については、以下を確認してください。