2015-06-09 31 views
-1

我有文件,我是能夠讀取並獲取數據,現在我想重寫文件內容,但我下面嘗試不起作用我錯過了什麼?覆蓋文件不能在節點j工作

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

我已經驗證,當我把我得到了ERR以下,但該文件被關閉......該文件不是隻讀...

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

回答

-1

它看起來像一個權限錯誤。在使用nodemon運行服務器之前,以管理員身份打開命令提示符。 (根據OP的要求,從評論轉移到答案部分)

+1

刪除您的答案並重新發布它,因爲它收到downvote是不可接受的。我低估了這一點,因爲這是不好的建議。腳本不應該作爲超級用戶運行。應該正確設置文件的權限。 – Paulpro

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:真正

+0

只需複製/粘貼上面的代碼並運行一次即可。 –