【问题标题】:writeFile does not create filewriteFile 不创建文件
【发布时间】:2018-04-26 01:26:28
【问题描述】:

错误代码如下:

{ Error: ENOENT: no such file or directory, open 'sad' errno: -2, code: 'ENOENT', syscall: 'open', path: 'sad' }

其中 'sad' 是我要写入的文件的名称,但它不存在。

代码如下:

fs.writeFile(filename, JSON_string, { flag: 'w' }, function(err){           
        if(err){
            return console.error(err);
        }           
        return JSON_string;
    });

还有其他类似的问题,但是他们的路径都是错误的,以/开头或不以/开头,我只想在我运行这个node.js应用程序的root上写一个文件(它也是用npm初始化的在这个目录中..)。

运行

sudo node server4.js

也不行。 将标志更改为 w+ 或 wx 或其他什么都无济于事。 如果文件存在,代码就可以工作。

节点 v9+。

我需要使用 writeFile() 函数。

【问题讨论】:

  • 嗨,“文件名”变量中有什么?
  • 我查过了。它工作正常。你在filename中使用什么@
  • 使用__dirname + filename 访问您的文件路径。
  • 正如OP中所说,文件名是悲伤的,它被发送到函数参数文件名。

标签: node.js fs writefile


【解决方案1】:

这对我有用,请检查这是否适用于您的系统:

var fs = require('fs')

fs.writeFile('./myfile.txt', 'Content to write', { flag: 'w' }, function(err) {
    if (err) 
        return console.error(err); 
    fs.readFile('./myfile.txt', 'utf-8', function (err, data) {
        if (err)
            return console.error(err);
        console.log(data);
    });
});

(除了写它还读确认)

【讨论】:

    猜你喜欢
    • 2017-12-15
    • 1970-01-01
    • 2021-12-13
    • 1970-01-01
    • 2013-08-18
    • 1970-01-01
    • 2019-08-17
    • 1970-01-01
    • 2017-01-23
    相关资源
    最近更新 更多