node.js初应用 创建目录树

├─ hw
│ ├─dirtree.js
│ └─ test.js
├─test.js
└─ url.js
首先创建出来的样子大概是这个样子,在这里我们先来整理下目录树的思路
获取目标文件夹的目录内容
将文件或者文件夹进行划分
将文件或者文件夹进行打印,命令行console.log()
文件夹再次遍历 deep1 ├─ deep2 │ ├─ deep3│ │ ├─
打印当前目录树

//引入
const fs=require('fs');
const path=require('path');
//目标目录
let target=path.join(__dirname,'../../')
//用function
function loadTree(target,deep){
let prev=new Array(deep).join(' |')
//  前面 |  字符串
let dirinfo=fs.readdirSync(target);
let files=[];
let dirs=[];
//保存文件或者文件夹

//接着开始遍历文件或者文件夹分开存贮
for(let i =0;i<dirinfo.length;i++){
  let state=fs.statSync(path.join(target,dirinfo[i]))
  if (state.isFile()){
     files.puth(dirinfo[i])
  }else{
	dirs.puth(dirinfo[i])	
   }
}
//文件操作
for (let i=0;i<dirs.length;i++){
	console.log(`${prev} ├─ ${dirs[i]}`)
	//递归
	let nextPath =path.join(target,dirs[i])
	let nextdeep=deep+1
	//下一级的 文件目录 以及层级
	loadTree(nextPath,nextdeep)
	//递归调用
}
//  文件操作
for (let i =files.length-1;i>=0;i--){
	if(i===0){
		console.log(`${prev} └─ ${files[i]}`)
	}else{
		console.log(`${prev} ├─ ${files[i]}`)
		}
	}
}
loadTree(target,1)

// deep   样式
// 1       "├─"
// 2       "|  ├─"
// 3       "|   |   ├─"

// let  str=new Array(1).join('| ')
// console.log(str)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值