在 fs.writeFile([option]) 中,“选项参数”通常如何工作?
Posted
技术标签:
【中文标题】在 fs.writeFile([option]) 中,“选项参数”通常如何工作?【英文标题】:In fs.writeFile([option]), how an "options parameter" generally work? 【发布时间】:2015-03-11 08:02:37 【问题描述】:我正在阅读有关 Node.js 文件系统的文档,fs.writeFile(filename, data, [options], callback)
。
所以我注意到我经常看到[选项],但从未将它用于任何事情。有人可以给我一个例子吗?我所有的案例都没有使用这个选项。
【问题讨论】:
它是可选的,如果您想更改编码,它将被使用(通常)。 它告诉你,就在它的正下方…… 我不明白,这就是我问的原因。我看到他们在它下面说。但是有人可以举个例子吗? 【参考方案1】:这些是选项。
-
编码(字符串或NULL),默认值为'utf8'
模式(数字),默认值为 438(八进制中的 0666)
标志(字符串),默认值为'w'
【讨论】:
【参考方案2】:我猜您对 options
参数在 javascript 中的一般工作方式感兴趣。
与什么相反,参数是stated in the docs:
选项 对象 编码 字符串 |空默认 = 'utf8' mode Number 默认 = 438(八进制中的 0666) 标志 字符串 默认 = 'w'
通常,options
参数是一个对象,其属性是您要修改的选项。因此,如果您想修改fs.writeFile
上的两个选项,您可以将每个选项作为属性添加到options
:
fs.writeFile(
"foo.txt",
"bar",
encoding: "base64",
flag: "a"
,
function() console.log("done!")
)
如果您对这三个参数的用途感到困惑,the docs for fs.open
拥有您需要的一切。它包括flag
的所有可能性,以及mode
的描述。一旦writeFile
操作完成,就会调用callback
。
【讨论】:
谢谢,现在我知道它应该是什么样子了!【参考方案3】:fs.writeFile(filename,data,flag: "wx",function(err)
if(err) throw err
console.log('Date written to file, ',filename)
)
在上面的代码sn-p中可以看到,第三个参数是options/flag。有可选的,用于指示要打开的文件的行为。
我已将“wx”作为选项传递,这表明文件将打开以进行写入,如果文件不存在则将被创建。但是如果已经存在就会失败。
默认情况下,“w”作为选项传递。
如需进一步阅读不同选项,here
【讨论】:
【参考方案4】:对于任何结束搜索以寻找标志参考的人来说,这里是:
Flag Description
r Open file for reading. An exception occurs if the file does not exist.
r+ Open file for reading and writing. An exception occurs if the file does not exist.
rs Open file for reading in synchronous mode.
rs+ Open file for reading and writing, asking the OS to open it synchronously. See notes for 'rs' about using this with caution.
w Open file for writing. The file is created (if it does not exist) or truncated (if it exists).
wx Like 'w' but fails if the path exists.
w+ Open file for reading and writing. The file is created (if it does not exist) or truncated (if it exists).
wx+ Like 'w+' but fails if path exists.
a Open file for appending. The file is created if it does not exist.
ax Like 'a' but fails if the path exists.
a+ Open file for reading and appending. The file is created if it does not exist.
ax+ Like 'a+' but fails if the the path exists.
【讨论】:
以上是关于在 fs.writeFile([option]) 中,“选项参数”通常如何工作?的主要内容,如果未能解决你的问题,请参考以下文章