• 技术文章 >web前端 >前端问答

    nodejs怎么检测文件是否存在

    青灯夜游青灯夜游2021-09-15 18:03:23原创78

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

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

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

    1、使用fs.exists

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

    fs.exists(path, callback)

    注:由于该方法属于fs模块,使用前需要引入fs模块(var fs= require(“fs”) )

    目前 fs.exists 已被废弃,另外需要清楚, 只有在文件不直接使用时才去检查文件是否存在

    示例:

    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怎么检测文件是否存在的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:nodejs 文件是否存在
    上一篇:nodejs模块怎么安装 下一篇:nodejs如何安装mysql包
    线上培训班

    相关文章推荐

    • 深入了解Node.js中的四大流,解决“背压”问题• 一文快速了解Nodejs中的模块系统• 一招教你使用Node.js中iis部署运行node(附代码)• 怎么查看nodejs安装的模块

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网