节点FS ENOENT错误

时间:2015-11-04 02:30:50

标签: node.js fs

我正在尝试让这个脚本创建一个目录,然后在其中编写内容。简单的XML转储&东西。

我无法获得任何FS工作。 isDirectory,createDirectory,readFile,writeFile。我在另一篇SO帖子中的阅读建议对fs.stat()进行大量修改。

我已经设置了该文件夹的权限,因此它不应该有任何权限问题(Windows)。

我检查以前文件的第一步&创建新的或打开它们:

. . .

var logsDir = './logs/';
var logAccess = logsDir + 'stuff.log';

try {   // The code says its an ENOENT
    console.log(fs.statSync(logsDir))

    if (!fs.statSync(logsDir).isDirectory()) {
        fs.mkdirSync(logsDir);
    }
} catch (e) {
    console.error('Error   ' + e.code);
}

try {   // Another ENOENT
    if (!fs.statSync(logAccess).isFile()) {
        fs.writeFileSync(logAccess, 'die', 'utf8');
    }
    //data = fs.readFileSync(logAccess, 'utf8');
} catch (e) {
    console.error('Error   errors are dumb');
}

. . .

2 个答案:

答案 0 :(得分:0)

(4, 5)

答案 1 :(得分:0)

var fs = require('fs');
var express = require("express");
var app = express();
var logsDir = './logs/';
var logAccess = logsDir + 'stuff.log';

 function directoryExits(logsDir){
 try {   
 return fs.statSync(logsDir).isDirectory();   
 } catch (err) {
 return false;
 }
}

  function fileExits(logAccess){
  try {   
   return fs.statSync(logAccess).isFile();     
   } catch (err) {
    return false;
   }
 }

var statsDir = directoryExits(logsDir);
var statsFile = fileExits(logAccess);
  if(!statsDir)
  {
  fs.mkdirSync(logsDir);   
  console.log("Directory Created")
  }
  else
  console.log('Directory already exists'); 
    if(!statsFile)
    {
    fs.writeFileSync(logAccess, 'die', 'utf8');
    }
    else
    console.log('File already exists');


app.listen(4000, function(){
console.log('Server running '); 
});