当前位置: 首页 > 面试题库 >

在nodejs的文件夹下按扩展名* .html查找文件

姚建树
2023-03-14
问题内容

我想使用nodejs在src文件夹及其所有子文件夹中找到所有* .html文件。最好的方法是什么?

var folder = '/project1/src';
var extension = 'html';
var cb = function(err, results) {
   // results is an array of the files with path relative to the folder
   console.log(results);

}
// This function is what I am looking for. It has to recursively traverse all sub folders. 
findFiles(folder, extension, cb);

我认为很多开发人员都应该拥有出色且经过测试的解决方案,使用它比自己编写一个更好。


问题答案:

node.js,递归简单函数:

var path = require('path'), fs=require('fs');

function fromDir(startPath,filter){

    //console.log('Starting from dir '+startPath+'/');

    if (!fs.existsSync(startPath)){
        console.log("no dir ",startPath);
        return;
    }

    var files=fs.readdirSync(startPath);
    for(var i=0;i<files.length;i++){
        var filename=path.join(startPath,files[i]);
        var stat = fs.lstatSync(filename);
        if (stat.isDirectory()){
            fromDir(filename,filter); //recurse
        }
        else if (filename.indexOf(filter)>=0) {
            console.log('-- found: ',filename);
        };
    };
};

fromDir('../LiteScript','.html');

如果想花哨的话,添加RegExp,并添加一个回调使其通用。

var path = require('path'), fs=require('fs');

function fromDir(startPath,filter,callback){

    //console.log('Starting from dir '+startPath+'/');

    if (!fs.existsSync(startPath)){
        console.log("no dir ",startPath);
        return;
    }

    var files=fs.readdirSync(startPath);
    for(var i=0;i<files.length;i++){
        var filename=path.join(startPath,files[i]);
        var stat = fs.lstatSync(filename);
        if (stat.isDirectory()){
            fromDir(filename,filter,callback); //recurse
        }
        else if (filter.test(filename)) callback(filename);
    };
};

fromDir('../LiteScript',/\.html$/,function(filename){
    console.log('-- found: ',filename);
});


 类似资料:
  • 所以我试图从一个文件中获取扩展名,这样我就可以将它与一个字符串进行比较,看看扩展名是否与我要查找的扩展名匹配。然而,目前我认为我能够得到扩展,但然后比较它与我想要找到的是导致我的应用程序崩溃和关闭立即。此外,我希望它能够处理没有扩展名的文件,只是将它们冒充为与所需的文件扩展名不匹配的文件。下面是执行此操作的代码片段,希望有人能向我解释我在这里做错了什么。 附注:我是Java和Android开发的新

  • 问题内容: 我想更改特定文件夹中文件的扩展名。我在论坛上阅读了有关此主题的信息。使用“确实”的想法,我编写了以下代码,我希望它可以工作,但不能。我很感谢您为我的失误提供任何指导。 问题答案: 在对源文件是不必要的,因为只需要在源和目标路径来完成这项工作。而且,始终返回,因此调用其返回值没有任何意义。 我简单地删除了两个。检查是否适合您。

  • 问题内容: 为了帮助实现这一点,下面的代码在文件夹中查找txt文件,以及如何使其列出不含扩展名的文件名。这是代码: 如您所见,就在这里: 这是将文件列表与myname的值进行比较,因此您可以帮助比较表和myName和list [i](不考虑文件扩展名)的情况,例如程序显示该文件夹具有以下布局: indeks.html hi.html,用户输入了indeks.html,比较不错,但是如何创建一个代码

  • 本文向大家介绍python查找目录下指定扩展名的文件实例,包括了python查找目录下指定扩展名的文件实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python查找目录下指定扩展名的文件。分享给大家供大家参考。具体如下: 这里使用python查找当前目录下的扩展名为.txt的文件 希望本文所述对大家的Python程序设计有所帮助。

  • 问题内容: 我有一个上传脚本,需要检查文件扩展名,然后基于该文件扩展名运行单独的功能。有人知道我应该使用什么代码吗? 问题答案: 是您要寻找的 PHP.net

  • 问题内容: 我必须将数据从Excel文件导入数据库,并执行此操作,我想检查所选文件的扩展名。 这是我的代码: 但是我总是得到: 选择一个Excel文件! 我找不到我的代码有什么问题,请有人帮忙。 问题答案: 以下 应该 要么