求大神看看那里出错了,目的是求一个目录下的所有文件中最大的文件,并输出出来它的文件名
发布于 11 年前 作者 lianxuan 3735 次浏览 最后一次编辑是 8 年前
function largest(dir, callback) {
    var results = '';
    fs.readdir(dir, function(err, list) {
        if (err) {
            return callback(null);
        };

        var i = 0;
        (function next() {
            var file = list[i++];
            if (!file) return callback(null, results);
            file = dir + '/' + file;
            fs.stat(file, function(err, stat){
                if(stat && stat.isDirectory()) {
                  largest(file, function(err, res){
                      next();
                  })
                }else {
                    var size = fs.stat(results, function(err, stat) {
                        if(err)
                            return 0;
                        else
                            return stat.size;
                    })

                    if (stat.size > size){
                        results = file;
                    }
                    next();
                };
            });
        })();
    })
}

function callBack() {
    if(arguments[1] === null)
        console.log('Enter the path of illegal');
}


var arguments = process.argv.slice(2)[0];

largest(arguments, callBack());

求大神帮帮忙

1 回复

代码没格式化, 帮改了… 大牛时间宝贵, 估计都不会帮楼主看… 帖一下报错吧, 或者描述下哪里出问题了, 也许刚好发现…

回到顶部