91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Node.js中怎么利用遞歸遍歷文件夾

發布時間:2021-07-21 10:46:48 來源:億速云 閱讀:160 作者:Leah 欄目:web開發

Node.js中怎么利用遞歸遍歷文件夾,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

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

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

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.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
············

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

荆门市| 胶州市| 塔城市| 乐山市| 高尔夫| 江西省| 盖州市| 姜堰市| 宝清县| 阿城市| 庆城县| 蓝山县| 正蓝旗| 马尔康县| 佛冈县| 苍山县| 迭部县| 乐安县| 顺义区| 饶平县| 沈丘县| 江油市| 鄂伦春自治旗| 玉溪市| 安国市| 来安县| 修水县| 梓潼县| 莱州市| 临安市| 云和县| 南皮县| 中宁县| 华亭县| 岳池县| 利川市| 平顶山市| 汝州市| 永泰县| 故城县| 中山市|