Posted at

fs.statSyncでファイルの存在判定

More than 3 years have passed since last update.

node書いてたときのメモ。

ファイルが存在しているかを確認したい。


versions

node -v

> v4.2.3

fs.existsSync(path) はv1.0.0でDeprecatedになっていたので、fs.statSync(path)を使う。


sample.js

fs.statSync('hoge.txt');

// Uncaught Error: ENOENT: no such file or directory, stat 'hoge.txt'

hoge.txtが存在しないと、エラーになるので

try catchでくるんであげる。

ENOENT は、「No such file or directory」のエラーコード。)


sample.js

function isExistFile(file) {

try {
fs.statSync(file);
return true
} catch(err) {
if(err.code === 'ENOENT') return false
}
}

isExistFile('./hoge.txt');
// false


もちろん存在する時はtrueになる。