javascript - fs.createRead/WriteStream() 与 fs.promises.open()

标签 javascript node.js file-io

其中哪一个更适合在 Node 服务器应用程序的文件管理器类型中处理文件读/写操作?
一个比另一个快吗?速度非常重要,因为该应用程序应该能够同时处理许多用户请求

最佳答案

流的独特之处在于,不是程序像传统方式那样一次将文件全部读入内存,而是逐 block 读取数据 block ,处理其内容而不将其全部保存在内存中。
这使得流在处理大量数据时非常强大,例如,文件大小可能大于您的可用内存空间,因此无法将整个文件读入内存以进行处理。这就是溪流来拯救的地方!
使用流处理较小的数据 block ,可以读取较大的文件。
与其他数据处理方法相比,流基本上提供了两大优势:

  • 内存效率:无需在内存中加载大量数据即可处理
  • 时间效率:一旦获得数据就开始处理数据所花费的时间要少得多,而不必等待整个有效负载传输完毕
  • 关于javascript - fs.createRead/WriteStream() 与 fs.promises.open(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63709472/

    相关文章:

    javascript - Async.js waterfall (在数组外部定义的函数)

    c - 如何创建一个文本文件,在给定路径中该文件不存在

    C: 使用 opendir 和 open 打开的文件太多

    python - 在python中将数据写入文件时出错

    javascript - 更改导航链接的样式 - 包括下一个和上一个按钮

    javascript - 使用递归遍历数组数组

    c++ - 在 Electron 中使用自定义 Node 包

    node.js - 如何在 Sails 中使用 http-auth

    javascript - 路径中没有〜波浪号的Webpack 4 sass-loader导入文件

    javascript - 如何使用 jQuery 滚动(元素底部应位于页面底部)