nodejs中fs.open()的用法是什么,fs.readfile和fs.open()有什么区别

Ven*_* Ch 5 filesystems readfile node.js

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

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

Shw*_*har 5

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);
});
Run Code Online (Sandbox Code Playgroud)


小智 4

使用 fs.open() 打开文件,然后可以对其执行多项操作。读取它、写入它、关闭它等等。使用 fs.readFile 无需打开或关闭您读取的文件。检查更多信息:

Node.js 文件系统