【问题标题】:fs.createReadStream(path[, options]) - What are those options?fs.createReadStream(path[, options]) - 这些选项是什么?
【发布时间】:2017-08-31 19:47:24
【问题描述】:

根据 Node 的 v6.10.2 API - options 是具有以下默认值的对象或字符串:

{
flags: 'r',
encoding: null,
fd: null,
mode: 0o666,
autoClose: true
}

但是我看到 highWaterMark 属性被用来设置缓冲区大小。但是 API 并没有把它放在选项上。所以我想知道API没有在文档上写的更多选项。如果是这样,我在哪里可以找到完整的选项列表?

并且API没有谈论标志,所以我想知道在这种情况下标志的剂量以及它们之间的区别是什么

flags: r
flags: w
flags: r+

我试图找到这些答案,但没有找到任何有用的信息。如果有人帮助我理解这个话题,我将不胜感激。 谢谢。

【问题讨论】:

    标签: node.js stream fs


    【解决方案1】:

    在撰写此答案时,文档中似乎仍然缺少流上下文中的解释,因此尚不清楚可读流可以有哪些选项。据我所知,这些标志很可能与为其他 fs 操作(如 fs.open)指定的标志相同。

    来自文档:

    https://nodejs.org/api/fs.html#fs_fs_open_path_flags_mode_callback

    r - 打开文件进行阅读。如果文件不存在,则会发生异常。

    r+ - 打开文件进行读写。如果文件不存在,则会发生异常。

    rs+ - 以同步模式打开文件进行读写。指示操作系统绕过本地文件系统缓存。

    这主要用于在 NFS 挂载上打开文件,因为它允许跳过可能过时的本地缓存。它对 I/O 性能有非常实际的影响,因此除非需要,否则不建议使用此标志。

    w - 打开文件进行写入。文件被创建(如果不存在)或被截断(如果存在)。

    wx - 类似于 'w' 但如果路径存在则失败。

    w+ - 打开文件进行读写。文件被创建(如果不存在)或被截断(如果存在)。

    wx+ - 类似于 'w+' 但如果路径存在则失败。

    a - 打开文件进行追加。如果文件不存在,则创建该文件。

    ax - 类似于 'a' 但如果路径存在则失败。

    a+ - 打开文件进行读取和附加。如果文件不存在,则创建该文件。

    ax+ - 类似于 'a+' 但如果路径存在则失败。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多