Node.js-如果文件不存在,则写json [不使用fs.exists()]

阿尔蒂亚诺·格龙

仅当文件不存在时如何正确写入json文件。

fs.exists 方法已过时,因此我将不使用它。

任何想法?

jfriend00

您只需要将'wx'标志传递给即可fs.writeFile()如果文件不存在,它将创建并写入文件;如果文件已存在,则将返回错误。这应该是免费的比赛条件,fs.exist()fs.access()受,因为他们没有能力来测试并创建不能由任何其他进程被中断的原子操作的文件。

这是该概念的封装版本:

// define version of fs.writeFile() that will only write the file
// if the file does not already exist and will do so without
// possibility of race conditions (e.g. atomically)
fs.writeFileIfNotExist = function(fname, contents, options, callback) {
    if (typeof options === "function") {
        // it appears that it was called without the options argument
        callback = options;
        options = {};
    }
    options = options || {};
    // force wx flag so file will be created only if it does not already exist
    options.flag = 'wx';
    fs.writeFile(fname, contents, options, function(err) {
        var existed = false;
        if (err && err.code === 'EEXIST') {
           // This just means the file already existed.  We
           // will not treat that as an error, so kill the error code
           err = null;
           existed = true;
        }
        if (typeof callback === "function") {
           callback(err, existed);
        }
    });
}

// sample usage
fs.writeFileIfNotExist("myFile.json", someJSON, function(err, existed) {
    if (err) {
        // error here
    } else {
        // data was written or file already existed
        // existed flag tells you which case it was
    }
});

fs.writeFile() 在node.js doc中查看可传递给此处的标志值的描述

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

c#File.Exists对不存在的文件返回true

来自分类Dev

使用Node.js(fs)访问使用输入类型=文件选择的文件

来自分类Dev

使用node.js读写文件(JSON)

来自分类Dev

如何使用node.js确保fs.writeFile之前存在所有目录

来自分类Dev

无法在Node.js中使用fs.readdir()列出文件

来自分类Dev

如何在不使用fs.exists的情况下检查文件或目录是否存在?

来自分类Dev

Node.js使用fs.readFileSync读取大文件

来自分类Dev

不推荐使用node.js fs.exists(),而是使用什么呢?

来自分类Dev

在Node JS中使用fs-extra更新xml文件

来自分类Dev

为什么不使用Node.js下载文件?

来自分类Dev

关系在adonis / node.js中不存在

来自分类Dev

Node js和mongo更新文件中不存在的数据,但数据库中存在数据

来自分类Dev

Node.js:使用fs.writeFileSync写入系统文件

来自分类Dev

node.js ejs-如果文件不存在,则不呈现

来自分类Dev

发生未处理的异常:脚本文件../node_modules/chart.js不存在

来自分类Dev

Node.js + AWS S3:上载新文件并创建一个新文件夹(如果不存在)

来自分类Dev

用户的评估存在或不使用Node.js

来自分类Dev

在不使用文件扩展名的情况下使用Node.JS在浏览器中显示json文件

来自分类Dev

使用node.js读写文件(JSON)

来自分类Dev

无法使用fs Node.js读取文件

来自分类Dev

如何使用fs在node.js Express上正确地将数组写入文件?

来自分类Dev

如何不使用grunt或gulp在Node JS中查找LESS和SCSS文件?

来自分类Dev

无法使用 Node.js fs.appendFile 创建文件

来自分类Dev

如何在不使用“请求”的情况下通过 Node.js 发布 JSON?

来自分类Dev

如果表中不存在记录,则使用 not exists in sql 插入

来自分类Dev

使用 node js 和 fs 列出目录、子目录及其文件

来自分类Dev

如何使用js在JSON文件中添加不存在的数据

来自分类Dev

node.js 使用 fs.writeFile - 如何在文件 (\n) 中强制换行?

来自分类Dev

如果目标文件不存在,则在 Node.js 中异步重命名文件

Related 相关文章

  1. 1

    c#File.Exists对不存在的文件返回true

  2. 2

    使用Node.js(fs)访问使用输入类型=文件选择的文件

  3. 3

    使用node.js读写文件(JSON)

  4. 4

    如何使用node.js确保fs.writeFile之前存在所有目录

  5. 5

    无法在Node.js中使用fs.readdir()列出文件

  6. 6

    如何在不使用fs.exists的情况下检查文件或目录是否存在?

  7. 7

    Node.js使用fs.readFileSync读取大文件

  8. 8

    不推荐使用node.js fs.exists(),而是使用什么呢?

  9. 9

    在Node JS中使用fs-extra更新xml文件

  10. 10

    为什么不使用Node.js下载文件?

  11. 11

    关系在adonis / node.js中不存在

  12. 12

    Node js和mongo更新文件中不存在的数据,但数据库中存在数据

  13. 13

    Node.js:使用fs.writeFileSync写入系统文件

  14. 14

    node.js ejs-如果文件不存在,则不呈现

  15. 15

    发生未处理的异常:脚本文件../node_modules/chart.js不存在

  16. 16

    Node.js + AWS S3:上载新文件并创建一个新文件夹(如果不存在)

  17. 17

    用户的评估存在或不使用Node.js

  18. 18

    在不使用文件扩展名的情况下使用Node.JS在浏览器中显示json文件

  19. 19

    使用node.js读写文件(JSON)

  20. 20

    无法使用fs Node.js读取文件

  21. 21

    如何使用fs在node.js Express上正确地将数组写入文件?

  22. 22

    如何不使用grunt或gulp在Node JS中查找LESS和SCSS文件?

  23. 23

    无法使用 Node.js fs.appendFile 创建文件

  24. 24

    如何在不使用“请求”的情况下通过 Node.js 发布 JSON?

  25. 25

    如果表中不存在记录,则使用 not exists in sql 插入

  26. 26

    使用 node js 和 fs 列出目录、子目录及其文件

  27. 27

    如何使用js在JSON文件中添加不存在的数据

  28. 28

    node.js 使用 fs.writeFile - 如何在文件 (\n) 中强制换行?

  29. 29

    如果目标文件不存在,则在 Node.js 中异步重命名文件

热门标签

归档