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

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

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

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

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

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:');

//調(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){
        //獲取當前文件的絕對路徑
        var filedir = path.join(filePath,filename);
        //根據(jù)文件路徑獲取文件信息,返回一個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);//遞歸,如果是文件夾,就繼續(xù)遍歷該文件夾下面的文件
            }
          }
        })
      });
    }
  });
}

運行結果為:

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 遍歷文件夾的實現(xiàn)方法就結束了,希望大家以后多多支持腳本之家。

相關文章

  • 詳解Puppeteer 入門教程

    詳解Puppeteer 入門教程

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

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

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

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

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

    NodeJS基礎API搭建服務器詳細過程記錄

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

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

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

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

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

    node.js制作一個簡單的登錄攔截器

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

    初識Node.js

    本文主要是簡單講訴了Node.js的介紹,安裝,希望對剛剛接觸Node.js的同學能有所幫助,有什么問題可以給我留言,一起學習進步
    2014-09-09
  • Node.js通過身份證號驗證年齡、出生日期與性別方法示例

    Node.js通過身份證號驗證年齡、出生日期與性別方法示例

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

    Node.js Koa2使用JWT進行鑒權的方法示例

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

最新評論

扬中市| 五台县| 罗平县| 云阳县| 丹寨县| 南宁市| 阿坝县| 黎川县| 周至县| 德清县| 千阳县| 南皮县| 尉氏县| 木兰县| 漳浦县| 四川省| 喜德县| 潞西市| 乐亭县| 姜堰市| 吴桥县| 武乡县| 洞头县| 呼伦贝尔市| 尖扎县| 赣榆县| 武威市| 察隅县| 雷州市| 肇庆市| 满城县| 大城县| 临武县| 湘西| 女性| 资溪县| 和静县| 兴仁县| 新晃| 临泉县| 青神县|