Fork me on GitHub

nodejs生成多层目录和生成文件的通用方法

/**
 *生成多层目录
 * @param dir 多层目录
 * @param split 分隔符,ex:'/' 对应的目录地址:'2015/10/10'
 * @param mode 目录权限(读写权限),默认0777
 * @param callback
 */
var createDirsSync = function (dir, split, mode, callback) {
    console.log("创建目录:" + dir);
    if (!fs.existsSync(dir)) {
        var dirArr = dir.split(split);
        var pathtmp;
        async.forEach(dirArr, function (item, cb) {
            console.log( item);
            if (pathtmp) {
                pathtmp = path.join(pathtmp, item);
            }
            else {
                pathtmp = item;
            }
            if (!fs.existsSync(pathtmp)) {
                if (!fs.mkdirSync(pathtmp, mode)) {
                    cb(null, item);
                }
                else {
                }
            }
        }, function (err) {
            callback(err);
        })
    }
    else {
        callback(null);
    }
}

  

posted @ 2015-10-17 21:36  磊哥|www.javacn.site  阅读(2871)  评论(0编辑  收藏  举报