zoukankan      html  css  js  c++  java
  • 读取指定文件夹下的全部文件,可通过正则进行过滤,返回文件路径数组 -- 基于node的一个函数

    var fs = require('fs');
    
    // 模板文件夹路径
    var templateDirectory = '../src'; //相对于当前文件的相对路径
    //var templateDirectory = 'D:/code/eclipse/dataInsight/maker-ui/src'; //系统级的路径
    
    // 模板文件的读取规则
    var reg = /-template.html$/;
    
    var files = readAllFile(templateDirectory, reg);
    console.log(files.length ? files.join('
    ') : '未找到符合要求的文件');
    
    /*------------工具函数------------*/
    /*
     * 读取指定文件夹下的全部文件,可通过正则进行过滤,返回文件路径数组
     * @param root 指定文件夹路径
     * [@param] reg 对文件的过滤正则表达式,可选参数
     *
     * 注:还可变形用于文件路径是否符合正则规则,路径可以是文件夹,也可以是文件,对不存在的路径也做了容错处理*/
    function readAllFile(root, reg) {
    
        var resultArr = [];
        var thisFn = arguments.callee;
        if (fs.existsSync(root)) {//文件或文件夹存在
    
            var stat = fs.lstatSync(root); // 对于不存在的文件或文件夹,此函数会报错
    
            if (stat.isDirectory()) {// 文件夹
                var files = fs.readdirSync(root);
                files.forEach(function (file) {
                    var t = thisFn(root + '/' + file, reg);
                    resultArr = resultArr.concat(t);
                });
    
            } else {
                if (reg !== undefined) {
    
                    if (typeof reg.test == 'function'
                        && reg.test(root)) {
                        resultArr.push(root);
                    }
                }
                else {
                    resultArr.push(root);
                }
            }
        }
    
        return resultArr;
    }
  • 相关阅读:
    JDBC(三)、基础代码及优化
    JDBC(二)、注册驱动三种实现原理
    JDBC(一)、数据库存取的三种
    Java学习笔记(四) 运算符
    Java学习笔记(三) 基础语法
    Java学习笔记(二) 第一个程序
    Java学习笔记(一) Java 概述
    JqGrid自定义获取编辑中单元格的值
    移动前端开发之viewport的深入理解
    CSS学习笔记--提示工具(Tooltip)
  • 原文地址:https://www.cnblogs.com/longze/p/3839625.html
Copyright © 2011-2022 走看看