writeFile不会创建文件

时间:2017-11-13 11:17:11

标签: node.js fs writefile

错误代码如下:

{ 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应用程序的根目录上写一个文件(它也用npm初始化)在这个目录..)。

使用

运行
sudo node server4.js

也不起作用。 将标志更改为w +或wx或其他任何内容都无济于事。 如果文件存在,代码可以工作。

节点v9 +。

我需要使用writeFile()函数。

1 个答案:

答案 0 :(得分:4)

这对我有用,请检查一下你的系统是否有效:

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);
    });
});

(除了写作也读取确认)