zoukankan      html  css  js  c++  java
  • node目录树

                      目录树

     1 const fs = require("fs");  
     2 const path = require("path"); 
     3 function tree(target,deep) { //    target:当前文件的绝对路径    deep:层级
     4     let prev = new Array(deep).join("┃"); 
     5     let infos = fs.readdirSync(target);  // 读取当前文件目录
     6     let files = [];  // 创建一个数组 用来存放文件
     7     let dirs = [];  // 创建一个数组 用来存放文件夹
     8 
     9     infos.forEach(item =>{  // 遍历获取到的当前文件
    10         let tmpdir = path.join(target,item);  //拼接文件的绝对路径
    11         let stat = fs.statSync(tmpdir);  // 获取文件的状态
    12         if(stat.isFile()){  // 如果是一个文件
    13             files.push(item);   // 存放在files数组中
    14         }else{  // 如果不是一个文件
    15             dirs.push(item);  // 存放在dirs数组中
    16         }
    17     });
    18 
    19     dirs.forEach(item => {  // 遍历dirs数组  打印文件夹并递归
    20         console.log(`${prev}├─ ${item}`); 
    21         let nexttarget = path.join(target,item); // 拼接文件夹的绝对路径 目的:以当前文件夹为目录
    22         let nextdeep = deep + 1;  
    23         tree(nexttarget,nextdeep)  // 再次调用tree函数  替换参数
    24     });
    25 
    26     let count = files.length - 1;   // 定义一个count 表示当前存放文件的数组长度-1
    27     files.forEach(item => {   // 遍历 files 数组
    28         if(count--){  // 如果count不为 0 代表不是最后一个文件
    29             console.log(`${prev}├─ ${item}`); 
    30         }else{  // 如果count为0 代表是最后一个文件
    31             console.log(`${prev}└─ ${item}`);  
    32         }
    33     })
    34 }
    35 
    36 tree(__dirname,1);

    刚刚学习了node 

    用node做了一个简易的目录树  欢迎各位批评指教

  • 相关阅读:
    UVA 11021繁衍模型+概率计算
    LA 5059博弈+SG函数
    LA 3942 字典树
    Beat---hdu2614
    Wooden Sticks---hdu1051(最长上升子序列)
    欧拉函数基础
    1370
    钱币兑换问题---hdu1284(完全背包)
    Drainage Ditches--hdu1532(网络流 模板)
    Fibonacci--poj3070(矩阵快速幂)
  • 原文地址:https://www.cnblogs.com/lxy-share/p/10415101.html
Copyright © 2011-2022 走看看