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做了一个简易的目录树  欢迎各位批评指教

  • 相关阅读:
    python---逻辑运算(and、or、not)
    VsCode预览HTML文件的方法
    Windows10下composer的安装以及配置
    Centos7上SVN客户端的安装和使用
    Centos7安装redis
    centos7下解决yum install mysql-server没有可用包
    Centos7 安装的mysql 报错 Unit mysqld.service entered failed state.
    Redis的一些规范
    PHP安装Redis扩展
    bzip2:无法 exec: 没有那个文件或目录
  • 原文地址:https://www.cnblogs.com/lxy-share/p/10415101.html
Copyright © 2011-2022 走看看