在nodejs中fs.open()的用处是什么,fs.readfile和fs.open()之间的区别是什么

问题描述 投票:3回答:3

我想知道在nodejs应用程序中使用fs.open()有什么用处。

nodejs中的openreadfile方法有什么区别,它们是如何工作的?

node.js filesystems readfile
3个回答
3
投票

如果要对该文件执行多个操作,请调用fs.open()。像fs.readFile()这样的方法只是简单的快捷方式,也可以防止忘记关闭文件。 (特别是不太明显的情况,比如try / catch。)但是如果你正在处理它,你不会想要不断重新打开并重新关闭同一个文件。

如果你查看文档(http://nodejs.org/api/fs.html),fs.read()的第一个参数说fd,而fs.readFile()的第一个参数是filename。 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);
});

0
投票

使用fs.open()可以打开文件,然后可以执行多项操作。读它,写它,关闭它等。使用fs.readFile而不必打开或关闭你读它的文件。查看更多信息:

Node.js FS


0
投票

是的,如上所述,如果您使用fs.readFile(),它将为您打开文件并阅读内容。如果要执行多个操作或操作是有条件的,可以使用fs.open()。 w3schools有几个例子。 https://www.w3schools.com/nodejs/nodejs_filesystem.asp

© www.soinside.com 2019 - 2024. All rights reserved.