节点的readFile()是否使用一个缓冲区来分配所有的文件大小?

我对Node和文件系统stream的关注很新。 我想现在,如果readFile函数可能读取文件统计信息,请获取大小并创build一个分配了所有文件大小的单个缓冲区。 或换句话说:我知道它加载整个文件,好的。 但是,它是通过将文件内部分割到更多缓冲区还是仅使用一个较大的缓冲区来实现的? 根据使用的方法,它有不同的内存使用/泄漏的影响。

在第9.3章find答案:

http://book.mixu.net/node/ch9.html

正如所料,readFile使用1个完整的缓冲区。 从上面的链接,这是readFile的执行:

//完全缓冲访问[100 Mb文件] – > 1. [分配100 Mb缓冲区] – > 2. [读取并返回100 Mb缓冲区]

所以,如果你使用readFile(),你的应用程序将一次只需要所有文件大小的内存。

要将该内存分块,可以使用read()或createReadStream()