检测方法:1、使用“fs.exists(path,callback)”;2、使用“await util.promisify(fs.stat)(‘文件路径’)”;3、使用“fs.access(path[,mode],callback);”。

nodejs怎么检测文件是否存在插图

本教程操作环境:windows7系统、nodejs 14.15.4版,DELL G3电脑。

nodejs检测文件是否存在的方法:

1、使用fs.exists

exists()函数可以测试某个路径下的文件是否存在。语法格式:

fs.exists(path, callback)
  • path 欲检测的文件路径

  • callback 回调

    • 回调函数包含一个参数exists,true则文件存在,否则是false。

示例:

fs.exists('/etc/passwd', function (exists) {
  util.debug(exists ? "it's there" : "no passwd!");
});

2、使用 fs.stat

fs.stat返回一个 fs.Stats 对象,该对象提供了关于文件的很多信息,例如文件大小、创建时间等。其中有两个方法 stats.isDirectory()、stats.isFile() 用来判断是否是一个目录、是否是一个文件。

const stats = await util.promisify(fs.stat)('text1.txt'); 
console.log(stats.isDirectory()); // false 
console.log(stats.isFile()); // true

若只是检查文件是否存在,推荐使用下面的 fs.access。

3、使用 fs.access

fs.access 接收一个 mode 参数可以判断一个文件是否存在、是否可读、是否可写,返回值为一个 err 参数。

const file = 'text.txt'; // 检查文件是否存在于当前目录中。
fs.access(file, fs.constants.F_OK, (err) => {
 console.log(`${file} ${err ? '不存在' : '存在'}`);
}); // 检查文件是否可读。
fs.access(file, fs.constants.R_OK, (err) => {
 console.log(`${file} ${err ? '不可读' : '可读'}`); 
}); // 检查文件是否可写。 
fs.access(file, fs.constants.W_OK, (err) => {
 console.log(`${file} ${err ? '不可写' : '可写'}`);
 }); // 检查文件是否存在于当前目录中、以及是否可写。
fs.access(file, fs.constants.F_OK | fs.constants.W_OK, (err) => {
 if (err) {
  console.error( `${file} ${err.code === 'ENOENT' ? '不存在' : '只可读'}`); 
  } else { 
  console.log(`${file} 存在,且可写`); 
  } 
});

【推荐学习:《nodejs 教程》】

以上就是nodejs怎么检测文件是否存在的详细内容,更多请关注亿码酷站其它相关文章!


<!–亿码酷站直播班–>nodejs怎么检测文件是否存在
—–文章转载自PHP中文网如有侵权请联系ymkuzhan@126.com删除

云服务器推荐