[node.js] node.js 파일 제거

node.js로 파일을 어떻게 삭제합니까?

http://nodejs.org/api/fs.html#fs_fs_rename_oldpath_newpath_callback

제거 명령이 보이지 않습니까?



답변

사용하고 싶다고 생각합니다 fs.unlink .

자세한 내용 fs여기를 참조하십시오 .


답변

fs.unlink(path, callback)비동기 unlink (2) 또는 fs.unlinkSync(path)동기 unlink (2)를 호출 할 수 있습니다 . 제거하려는 파일 경로는
어디에 있습니까 path?

예를 들어 디렉토리 discovery.docx에서 파일 을 제거하려고합니다 c:/book. 그래서 내 파일 경로는 c:/book/discovery.docx입니다. 해당 파일을 제거하는 코드는

var fs = require('fs');
var filePath = 'c:/book/discovery.docx';
fs.unlinkSync(filePath);


답변

존재 여부를 삭제하기 전에 파일을 확인하려는 경우. 따라서 대신 fs.stat 또는 fs.statSync ( Synchronous )를 사용하십시오 fs.exists. 최신 Node.js를 따라하기 때문에 문서 , fs.exists지금은 사용되지 .

예를 들면 다음과 같습니다.

 fs.stat('./server/upload/my.csv', function (err, stats) {
   console.log(stats);//here we got all information of file in stats variable

   if (err) {
       return console.error(err);
   }

   fs.unlink('./server/upload/my.csv',function(err){
        if(err) return console.log(err);
        console.log('file deleted successfully');
   });
});


답변

파일이 있는지 여부를 확인해야한다고 생각하지 않습니다. 파일을 확인하십시오 fs.unlink.

fs.unlink('fileToBeRemoved', function(err) {
    if(err && err.code == 'ENOENT') {
        // file doens't exist
        console.info("File doesn't exist, won't remove it.");
    } else if (err) {
        // other errors, e.g. maybe we don't have enough permission
        console.error("Error occurred while trying to remove file");
    } else {
        console.info(`removed`);
    }
});


답변

이 목적을 위해 만든 작은 발췌 문장이 있습니다.

var fs = require('fs');
var gutil = require('gulp-util');

fs.exists('./www/index.html', function(exists) {
  if(exists) {
    //Show in green
    console.log(gutil.colors.green('File exists. Deleting now ...'));
    fs.unlink('./www/index.html');
  } else {
    //Show in red
    console.log(gutil.colors.red('File not found, so not deleting.'));
  }
});


답변

허용되는 답변으로 fs.unlink 파일을 삭제 데 사용하십시오.

그러나 Node.js 문서 에 따르면

사용 fs.stat()호출하기 전에 파일의 존재 여부를 확인하는 fs.open(), fs.readFile()또는fs.writeFile() 사용하지 않는 것이 좋습니다. 대신, 사용자 코드는 파일을 직접 열고 / 읽고 / 쓰고 파일을 사용할 수없는 경우 발생한 오류를 처리해야합니다.

나중에 파일을 조작하지 않고 파일이 존재하는지 확인하려면 fs.access()권장됩니다.

파일 삭제 여부를 확인하려면 fs.access대신 사용

fs.access('/etc/passwd', fs.constants.R_OK | fs.constants.W_OK, (err) => {
  console.log(err ? 'no access!' : 'can read/write');
});


답변

여기 내 코드 아래에서 잘 작동합니다.

         const fs = require('fs');
         fs.unlink(__dirname+ '/test.txt', function (err) {
              if (err) {
                  console.error(err);
              }
             console.log('File has been Deleted');
          });