在 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]) 中,“选项参数”通常如何工作?的主要内容,如果未能解决你的问题,请参考以下文章

NodeJS - fs模块简单使用

NodeJS - fs模块简单使用

node js fs模块

nodejs模块之fs&&stream

node.js的文件操作

为啥节点 10 强制在 fs.writeFile() 上传递回调?