覆盖文件在节点js中不起作用

时间:2015-06-09 12:02:08

标签: javascript node.js express

我是能够阅读并获取数据的文件,现在我想覆盖文件内容,但我在下面尝试的内容并不起作用我错过了什么?

        var str = "t123";
        fs.writeFile('C:\\test.txt',str,'utf8',{'flags': 'a+'},function(){
            fs.readFile('C:\\test.txt', 'utf8', function (err,data) {
                console.log(data === str)
                res.send(data);
            });
        });

我验证该文件不是只读的... 当我把错误我得到以下但文件已关闭...

Error: EPERM, open 'C:\test.txt'

2 个答案:

答案 0 :(得分:1)

答案:此文件的权限错误C:\ test.txt以管理员身份运行此文件。

我刚试过下面提到的代码,它工作正常。 test.txt和write.js在同一目录中。

// write.js
var fs = require('fs'); 
var str = "this is my new text";
fs.writeFile('test.txt',str,'utf8',{'flags': 'a+'},function(){
    fs.readFile('test.txt', 'utf8', function (err,data) {
        console.log(data === str)
    });
});

OUTPUT: true

答案 1 :(得分:-1)

它看起来像是一个权限错误。在使用nodemon运行服务器之前,以管理员身份打开命令提示符。 (应OP要求将评论移至答案部分)