我想知道nodejs应用程序中fs.open()
的用法是什么。
nodejs中的open
和readfile
方法之间有什么区别?它们是如何工作的?
答案 0 :(得分:3)
如果要对该文件执行多项操作,请调用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);
});
答案 1 :(得分:0)
使用fs.open()打开文件,然后可以执行多项操作。读它,写它,关闭它等等。 使用fs.readFile而不必打开或关闭文件,您可以阅读它。检查更多信息:
答案 2 :(得分:0)
如上所述,如果您使用fs.readFile(),它将为您打开文件并阅读内容。如果要执行多个操作或操作是有条件的,可以使用fs.open()。 w3schools有几个例子。 https://www.w3schools.com/nodejs/nodejs_filesystem.asp