node.js fs.readdir recursive directory search

前端 未结 30 1876
醉酒成梦
醉酒成梦 2020-11-22 15:55

Any ideas on an async directory search using fs.readdir? I realise that we could introduce recursion and call the read directory function with the next directory to read, bu

30条回答
  •  無奈伤痛
    2020-11-22 16:14

    Here's a recursive method of getting all files including subdirectories.

    const FileSystem = require("fs");
    const Path = require("path");
    
    //...
    
    function getFiles(directory) {
        directory = Path.normalize(directory);
        let files = FileSystem.readdirSync(directory).map((file) => directory + Path.sep + file);
    
        files.forEach((file, index) => {
            if (FileSystem.statSync(file).isDirectory()) {
                Array.prototype.splice.apply(files, [index, 1].concat(getFiles(file)));
            }
        });
    
        return files;
    }
    

提交回复
热议问题