web-dev-qa-db-ja.com

nodejsでのfs.open()の使用法、fs.readfileとfs.open()の違いは何ですか

Nodejsアプリケーションでのfs.open()の使用法を知りたいです。

Nodejsのopenメソッドとreadfileメソッドの違いは何ですか?また、それらはどのように機能しますか?

5
Venkat Ch

そのファイルに対して複数のアクションを実行する場合は、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);
});
5

はい、上記のように、fs.readFile()を使用すると、ファイルが開かれ、内容が読み取られます。複数の操作を実行する場合、または操作が条件付きの場合は、fs.open()を使用します。 w3schoolsにはいくつかの例があります。 https://www.w3schools.com/nodejs/nodejs_filesystem.asp

1
chartman

Fs.open()を使用すると、ファイルを開いて、いくつかのことを実行できます。読んだり、書いたり、閉じたりします。fs.readFileを使用すると、読み取ったファイルを開いたり閉じたりする必要がありません。詳細については、以下を確認してください。

Node.js FS

1
Giannis Mp