博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
fs+path模块实例:【遍历文件夹下的所有文件,最后输出文件夹下所有的文件名】...
阅读量:6579 次
发布时间:2019-06-24

本文共 1156 字,大约阅读时间需要 3 分钟。

遍历文件夹下的所有文件,最后输出文件夹下所有文件名

功能描述

  • 给定一个路径,获取文件夹下所有文件
  • 给定一个路径,判断是文件还是文件夹
  • 如果是文件直接输出文件名
  • 如果是文件夹,继续遍历最终输出文件夹下的文件名

功能演示的效果图

功能实现的思路,以及所运用到的node 基础核心知识

  • path 拼接一个绝对路径,join方法能自动补齐路径,防止少层级或者多层级的问题。
//伪代码let path = require('path');let fpath = path.join(__dirname,a,b)复制代码
  • fs 读取文件夹操作 fs.readdir(url,回调函数)
  • fs 判断是文件夹或者文件
  • 封装遍历的方法为一个功能模块,递归实现文件夹中子文件夹的深层嵌套。减少代码

代码实现部分

//遍历文件夹下的所有文件,最后输出文件夹下所有的文件名//思路 使用fs,path 模块//1、先读取文件夹,获取文件的所有文件//2、对获取的文件进行遍历,用fs.stat 获得文件状态,//3、通过状态中的stat.isFile()判断是否是一个文件,是文件直接输出文件名,不是文件就继续递归。let fs = require("fs");let path = require("path");let myurl = "E:/coding/"function myReadfile(MyUrl) {    fs.readdir(MyUrl, (err, files) => {        if (err) throw err        files.forEach(file => {            //拼接获取绝对路径,fs.stat(绝对路径,回调函数)            let fPath = path.join(MyUrl, file);            fs.stat(fPath, (err, stat) => {                if (stat.isFile()) {                    //stat 状态中有两个函数一个是stat中有isFile ,isisDirectory等函数进行判断是文件还是文件夹                    console.log(file)                }                else {                    myReadfile(fPath)                }            })        })    })}myReadfile(myurl);复制代码

小结

记录node 基础学习的一个小案例,欢迎一起交流学习。

转载地址:http://qabno.baihongyu.com/

你可能感兴趣的文章
如何建立Xshell中的日志文件
查看>>
配置 ipv4 iptables
查看>>
Linux下MySQL备份以及crontab定时备份
查看>>
android数据存储——远程服务器存储
查看>>
设计模式的理解
查看>>
脸部识别API
查看>>
linux redhat 下让redis以服务方式运行
查看>>
flask中的蓝图
查看>>
JAVA NIO学习笔记之Buffer抽象类及ByteBuffer类
查看>>
java httpclient使用socks5代理(三)测试服务
查看>>
2017-06-23
查看>>
loadrunner error 27796 Failed to connect to server
查看>>
每天一个linux命令(48):watch命令
查看>>
JavaScript indexOf() 方法
查看>>
lnmp+coreseek实现站内全文检索(安装篇)
查看>>
zend studio、netbeans、phpdesigner使用后的感受
查看>>
《开源安全运维平台OSSIM最佳实践》
查看>>
管理者的梦
查看>>
有容云-容器安全,六招解决
查看>>
android学习笔记之五提醒(Toast,Notification)
查看>>