最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Node.js 使用遞歸實(shí)現(xiàn)遍歷文件夾中所有文件

 更新時(shí)間:2017年09月18日 22:23:38   作者:younglao  
這篇文章主要介紹了Node.js使用遞歸實(shí)現(xiàn)遍歷文件夾中所有文件,需要的朋友可以參考下

如標(biāo)題所示,遍歷文件夾下的所有文件,主要功能如下:

傳入一個(gè)路徑,讀取路徑里面所有的文件
遍歷讀取的文件,判斷當(dāng)前文件是文件還是文件夾
當(dāng)前目錄為文件,打印出當(dāng)前文件絕對(duì)路徑
當(dāng)前目錄為文件夾,獲取文件夾路徑,繼續(xù)讀取路徑下文件
遍歷完目錄中的所有文件為止
代碼中用到的幾個(gè)方法

path.resolve(path)

一個(gè)路徑或路徑片段解析成一個(gè)絕對(duì)路徑,返回解析后的路徑字符串
fs.readdir(path[,option],callback)

讀取目錄下面的文件,返回目錄下的文件列表對(duì)象,如果傳入的是個(gè)文件,返回這個(gè)文件

fs.stat(path,callback)

獲取文件信息對(duì)象Stats,包括文件大小,gid等信息

stats.isFile()

文件信息對(duì)象Stats的一個(gè)方法,判斷當(dāng)前文件是不是一個(gè)文件

stats.isDirectory()

文件信息對(duì)象Stats的一個(gè)方法,判斷當(dāng)前文件是不是一個(gè)文件夾

代碼和注釋如下:

var fs = require('fs');
var path = require('path');

//解析需要遍歷的文件夾,我這以E盤(pán)根目錄為例
var filePath = path.resolve('E:');

//調(diào)用文件遍歷方法
fileDisplay(filePath);

/**
 * 文件遍歷方法
 * @param filePath 需要遍歷的文件路徑
 */
function fileDisplay(filePath){
  //根據(jù)文件路徑讀取文件,返回文件列表
  fs.readdir(filePath,function(err,files){
    if(err){
      console.warn(err)
    }else{
      //遍歷讀取到的文件列表
      files.forEach(function(filename){
        //獲取當(dāng)前文件的絕對(duì)路徑
        var filedir = path.join(filePath,filename);
        //根據(jù)文件路徑獲取文件信息,返回一個(gè)fs.Stats對(duì)象
        fs.stat(filedir,function(eror,stats){
          if(eror){
            console.warn('獲取文件stats失敗');
          }else{
            var isFile = stats.isFile();//是文件
            var isDir = stats.isDirectory();//是文件夾
            if(isFile){
              console.log(filedir);
            }
            if(isDir){
              fileDisplay(filedir);//遞歸,如果是文件夾,就繼續(xù)遍歷該文件夾下面的文件
            }
          }
        })
      });
    }
  });
}

運(yùn)行結(jié)果為:

E:\jars\spring-framework-4.2.9.RELEASE\docs\javadoc-api\org\springframework\cache\interceptor\AbstractCacheInvoker.html
E:\jars\spring-framework-4.2.9.RELEASE\docs\javadoc-api\org\springframework\cache\interceptor\AbstractCacheResolver.html
E:\jars\spring-framework-4.2.9.RELEASE\docs\javadoc-api\org\springframework\cache\interceptor\BasicOperation.html
E:\jars\spring-framework-4.2.9.RELEASE\docs\javadoc-api\org\springframework\cache\interceptor\CacheableOperation.html
E:\jars\spring-framework-4.2.9.RELEASE\docs\javadoc-api\org\springframework\cache\interceptor\BeanFactoryCacheOperationSourceAdvisor.html
E:\jars\spring-framework-4.2.9.RELEASE\docs\javadoc-api\org\springframework\cache\interceptor\AbstractFallbackCacheOperationSource.html
E:\jars\spring-framework-4.2.9.RELEASE\docs\javadoc-api\org\springframework\cache\interceptor\CacheAspectSupport.CacheOperationContext.html
E:\jars\spring-framework-4.2.9.RELEASE\docs\javadoc-api\org\springframework\cache\interceptor\CacheAspectSupport.html
E:\jars\spring-framework-4.2.9.RELEASE\docs\javadoc-api\org\springframework\cache\interceptor\CacheAspectSupport.CacheOperationMetadata.html
E:\jars\spring-framework-4.2.9.RELEASE\docs\javadoc-api\org\springframework\cache\interceptor\CacheErrorHandler.html
E:\jars\spring-framework-4.2.9.RELEASE\docs\javadoc-api\org\springframework\cache\interceptor\CacheEvictOperation.html
E:\jars\spring-framework-4.2.9.RELEASE\docs\javadoc-api\org\springframework\cache\interceptor\CacheInterceptor.html
E:\jars\spring-framework-4.2.9.RELEASE\docs\javadoc-api\org\springframework\cache\interceptor\CacheOperation.html
E:\jars\spring-framework-4.2.9.RELEASE\docs\javadoc-api\org\springframework\cache\interceptor\CacheOperationInvocationContext.html
E:\jars\spring-framework-4.2.9.RELEASE\docs\javadoc-api\org\springframework\cache\interceptor\CacheOperationInvoker.html
············

到這Node.js 遍歷文件夾的實(shí)現(xiàn)方法就結(jié)束了,希望大家以后多多支持腳本之家。

相關(guān)文章

  • 詳解Puppeteer 入門(mén)教程

    詳解Puppeteer 入門(mén)教程

    本篇文章主要介紹了詳解Puppeteer 入門(mén)教程,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • Node.js有效處理并發(fā)連接的過(guò)程

    Node.js有效處理并發(fā)連接的過(guò)程

    在現(xiàn)代 web 開(kāi)發(fā)中,處理并發(fā)連接是一個(gè)對(duì)于構(gòu)建高性能服務(wù)器至關(guān)重要的話題,Node.js 是一個(gè)使用 JavaScript 作為編程語(yǔ)言的服務(wù)器端環(huán)境,在這篇博客中,我們將深入探討 Node.js 如何有效地管理并發(fā)連接,并提供一些示例代碼以便于更好地理解這個(gè)過(guò)程
    2024-10-10
  • 通過(guò)node-mysql搭建Windows+Node.js+MySQL環(huán)境的教程

    通過(guò)node-mysql搭建Windows+Node.js+MySQL環(huán)境的教程

    這篇文章主要介紹了通過(guò)node-mysql搭建Windows+Node.js+MySQL環(huán)境的教程,node-mysql是JavaScript編寫(xiě)的一個(gè)Node的MySQL驅(qū)動(dòng),需要的朋友可以參考下
    2016-03-03
  • NodeJS基礎(chǔ)API搭建服務(wù)器詳細(xì)過(guò)程記錄

    NodeJS基礎(chǔ)API搭建服務(wù)器詳細(xì)過(guò)程記錄

    本文將以一個(gè)超小型web項(xiàng)目,來(lái)詳細(xì)介紹如何使用NodeJS基礎(chǔ)的http, fs, path, url等模塊提供的API來(lái)搭建一個(gè)簡(jiǎn)單的web服務(wù)器。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧
    2017-04-04
  • node將geojson轉(zhuǎn)shp返回給前端的實(shí)現(xiàn)方法

    node將geojson轉(zhuǎn)shp返回給前端的實(shí)現(xiàn)方法

    這篇文章主要介紹了node將geojson轉(zhuǎn)shp返回給前端的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 基于Node.js實(shí)現(xiàn)nodemailer郵件發(fā)送

    基于Node.js實(shí)現(xiàn)nodemailer郵件發(fā)送

    Nodemailer 是一個(gè)簡(jiǎn)單易用的 Node.JS 郵件發(fā)送模塊(通過(guò) SMTP,sendmail,或者 Amazon SES),支持 unicode,你可以使用任何你喜歡的字符集。Nodemailer是一個(gè)簡(jiǎn)單易用的Node.js郵件發(fā)送組件,需要的朋友可以參考下
    2016-01-01
  • node.js制作一個(gè)簡(jiǎn)單的登錄攔截器

    node.js制作一個(gè)簡(jiǎn)單的登錄攔截器

    本文給大家分享的是使用node.js制作一個(gè)簡(jiǎn)單的登錄攔截的思路及代碼,有需要的小伙伴可以參考下
    2020-02-02
  • 初識(shí)Node.js

    初識(shí)Node.js

    本文主要是簡(jiǎn)單講訴了Node.js的介紹,安裝,希望對(duì)剛剛接觸Node.js的同學(xué)能有所幫助,有什么問(wèn)題可以給我留言,一起學(xué)習(xí)進(jìn)步
    2014-09-09
  • Node.js通過(guò)身份證號(hào)驗(yàn)證年齡、出生日期與性別方法示例

    Node.js通過(guò)身份證號(hào)驗(yàn)證年齡、出生日期與性別方法示例

    最近工作中需要對(duì)身份證號(hào)的年齡、出生日期與性別進(jìn)行驗(yàn)證,所以這篇文章主要介紹了Node.js通過(guò)身份證號(hào)驗(yàn)證年齡、出生日期與性別的方法,在介紹完node.js的實(shí)現(xiàn)方法后又給大家分類(lèi)的利用JS實(shí)現(xiàn)的方法,需要的朋友可以參考下。
    2017-03-03
  • Node.js Koa2使用JWT進(jìn)行鑒權(quán)的方法示例

    Node.js Koa2使用JWT進(jìn)行鑒權(quán)的方法示例

    這篇文章主要介紹了Node.js Koa2使用JWT進(jìn)行鑒權(quán)的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08

最新評(píng)論

鲜城| 长宁区| 奇台县| 宽城| 来凤县| 昌乐县| 广元市| 共和县| 井陉县| 汾阳市| 瓮安县| 左云县| 镇赉县| 江孜县| 钟祥市| 尚义县| 罗甸县| 凌海市| 会宁县| 延安市| 九寨沟县| 延津县| 宁强县| 徐汇区| 渭南市| 汪清县| 富宁县| 汉沽区| 鄱阳县| 资中县| 邹城市| 寿宁县| 新昌县| 宾阳县| 兴文县| 吐鲁番市| 蓬溪县| 隆子县| 县级市| 长宁县| 渝北区|