fs.createReadStream(path [,options]) - 这些选项是什么?

时间:2017-04-06 01:06:02

标签: node.js stream fs

根据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+

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

1 个答案:

答案 0 :(得分:0)

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

来自文档:

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 +”类似,但如果路径存在则会失败。