エラーコードは次のようになります。
{ 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()関数を使用する必要があります。
これは私のために働いています、これがあなたのシステムで働くかどうかチェックしてください:
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);
});
});
(書く以外に確認のために読む)