nodejs实现读取本地目录生成文件树
实现思路:
首先,表示目录的对象结构应该是这样的,
type treeObj = {"dir": string, // 文件夹路径"childFiles": { //子文件"short": string; // 文件名"full": string; // 完成路径}[],"childDir": { //子文件夹[string]: treeObj}
}
具体细节:
- 读取给定的目标文件夹,不是文件夹的另作处理,获取所有文件和文件夹组成的数组;
- 循环数组,判断是文件夹还是文件,文件的话直接 push 到 childFiles;
- 文件夹的话,先把当前文件夹作为 key,存到父级文件夹的 childDir 属性下,然后自调用传当前文件夹路径;
- 以上步骤重复,直到达到最底层空文件夹或该文件夹只有文件;
- 根据得到的树形对象,生成 html 文件并写入 dom 节点即可;
查看代码实现,移步至 node-dir-tree
nodejs实现读取本地目录生成文件树相关推荐
- iphone app中读取本地txt,csv文件 转载
原文地址:iphone app中读取本地txt,csv文件 作者:醉吻花颜 - (void)readLocalData { NSString *path = [[NSBundle mainBundle ...
- Android读取assets目录下文件数据内容
Android读取assets目录下文件数据内容 Android的体系架构设计中,assets目录下的数据内容(图片.文件等等)将不会被Android系统压缩.二次处理等,assets目录下的文件 ...
- android 读取本地数据库db文件(Android sqlite)
我们知道Android中有四种数据存储方式: SharedPreference存储 content provider SQLite数据库存储 文件存储 今天我们主要说 本地数据库sqlite这种方式, ...
- java读取resouces目录下文件
resources中存放一些个资源文件,比如properties文件等,编译好会自动将这里边的文件复制到target/classes里去.获取资源文件的方法说明: XXX.class.getResou ...
- Linux不能读取目录,关于Linux上面无法读取资源目录下文件的问题
一开始我的代码是这样子的,读取本地子路径下的json文件 代码运行的时候,在window是可以正常的 @Override public String getBannerStr() { String s ...
- Android:读取assets目录下文件(二)
在上篇博客里,介绍了如何读取assets目录下的txt文件.在这里,介绍如何读取xml文件. xml文件内容如下: <?xml version="1.0" encoding= ...
- html 读取本地xml文件,JS读取本地的XML文件
要想让JS读取本地的XML代码,得具备这样的条件,一般情况下,需要一个JS文件,一个XML文件,最后这两个文件就放在相同的路径下,这样方便调用. 一.XML文件代码示例 大众计算机学习网 www.dz ...
- sex 无需下载_js读取本地json格式文件数据的几种实现方法,内有vue读取json示例代码。...
方法一:通过getJSON实现 getJSON是jquery提供的读取json格式文件的方法 首先我们将html中引入jquery,可以通过百度CDN引入,代码如下: 然后就可以在script中使用g ...
- Android JNI开发读取asserts目录中文件的方法
Android Java层读取asserts目录中的文件: //获取asserts/test/目录下的所有文件名称 String test_path = "test"; int c ...
- Oracle使用json后乱码,nodejs读取本地中文json文件出现乱码解决方法
1. 确定json文件是UTF-8 无BOM编码的的.如果有BOM,会在读取第一行的时候出现乱码. Per "fs.readFileSync(filename, 'utf8') doesn' ...
最新文章
- Linux 内核开发资料
- DL之DenseNet:DenseNet算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
- Hadoop大数据--Mapreduce程序运行并发度
- 前端框架:发送请求获取数据的执行逻辑
- HTTP 301 跳转和302跳转的区别
- iOS UI 开发按钮的使用
- LInux学习笔记(四)-----实操排雷
- linux重启网卡的命令行,linux系统重启网卡命令
- gdb的user-define command
- ES9新特性_ES9扩展运算符与rest参数---JavaScript_ECMAScript_ES6-ES11新特性工作笔记053
- Linux笔记(shell特殊符号,sort排序,wc统计,uniq去重,tee,tr,split)
- Android 4.0 ICS SystemUI浅析——SystemUI启动流程
- 软件工程毕设(三)·进度考核表
- PMP专题练习-整合管理
- 手把手教你进行Python网络爬虫中的Charles+Postern抓包
- 建筑企业收并购的三要素
- pyside2安装后打开designer.exe文件提示丢失 MSVCP140.dll的处理方法
- Engine中如何实现ArcMap中的Split Polygons
- Windows XP迎来20岁生日,仍有上百万用户坚守
- Android开发丶一步步教你实现okhttp带进度的列表下载文件功能
热门文章
- pixel 刷入自己编译的Android 8.0 安装Xposed 显示 Verified Boot (dm-verity) prevents the device from booting
- 分享43个职场必备excel函数!(内含详细案例解析及教程参考)
- html如何制作扑克,用css制作扑克牌
- 反编译工具的安装与使用(解决部分能反编译部分不能反编译)
- TracedModule: 更友好的模型表示方案,模型训练到部署的桥梁
- 解决Page index must not be less than zero问题
- Android设计之UI透明图标
- Rabbit基本概念详细介绍
- php文章下一页,php获取文章上一页与下一页的方法_php技巧
- 【BSP视频教程】STM32H7视频教程第4期:从启动到运行过程全解析,电源域,复位,时钟,软硬件启动流程到堆栈,map和htm文件分析(2022-01-26)