龙空技术网

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

腾讯大斌 116

前言:

如今兄弟们对“文件遍历是什么意思”大体比较着重,兄弟们都想要剖析一些“文件遍历是什么意思”的相关文章。那么小编同时在网络上网罗了一些对于“文件遍历是什么意思””的相关文章,希望朋友们能喜欢,我们快快来了解一下吧!

前言小序 #前端技术分享

这是文章是我2018年在我自己的掘金账号上线分享的一篇文章感觉蛮有意义的就拿出来和大家聊聊。

一直都想着在知乎上写一些代码技术相关的分享类文章了。废话不多说直接进入今天主题。

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

功能演示的效果图

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

功能实现的思路,以及所运用到的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 基础学习的一个小案例,欢迎一起交流学习。 絮尘飘飞

标签: #文件遍历是什么意思