国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Node.js 使用遞歸實現遍歷文件夾中所有文件

2019-11-19 15:24:13
字體:
來源:轉載
供稿:網友

如標題所示,遍歷文件夾下的所有文件,主要功能如下:

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

path.resolve(path)

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

讀取目錄下面的文件,返回目錄下的文件列表對象,如果傳入的是個文件,返回這個文件

fs.stat(path,callback)

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

stats.isFile()

文件信息對象Stats的一個方法,判斷當前文件是不是一個文件

stats.isDirectory()

文件信息對象Stats的一個方法,判斷當前文件是不是一個文件夾

代碼和注釋如下:

var fs = require('fs');var path = require('path');//解析需要遍歷的文件夾,我這以E盤根目錄為例var filePath = path.resolve('E:');//調用文件遍歷方法fileDisplay(filePath);/** * 文件遍歷方法 * @param filePath 需要遍歷的文件路徑 */function fileDisplay(filePath){  //根據文件路徑讀取文件,返回文件列表  fs.readdir(filePath,function(err,files){    if(err){      console.warn(err)    }else{      //遍歷讀取到的文件列表      files.forEach(function(filename){        //獲取當前文件的絕對路徑        var filedir = path.join(filePath,filename);        //根據文件路徑獲取文件信息,返回一個fs.Stats對象        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);//遞歸,如果是文件夾,就繼續遍歷該文件夾下面的文件            }          }        })      });    }  });}

運行結果為:

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

到這Node.js 遍歷文件夾的實現方法就結束了,希望大家以后多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南康市| 吐鲁番市| 蕉岭县| 龙胜| 大兴区| 东明县| 永胜县| 屏山县| 武夷山市| 宁夏| 水富县| 金沙县| 专栏| 普安县| 虹口区| 黎城县| 佳木斯市| 宣城市| 应用必备| 陇川县| 江华| 东平县| 新竹市| 永修县| 鹤山市| 札达县| 基隆市| 墨脱县| 小金县| 班玛县| 都江堰市| 黔西| 门头沟区| 临夏市| 锦屏县| 宜兴市| 苏尼特左旗| 玛沁县| 蒲城县| 紫云| 承德市|