欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java 對(duì)文件夾目錄進(jìn)行深度遍歷實(shí)例代碼

 更新時(shí)間:2017年03月08日 10:02:46   投稿:lqh  
這篇文章主要介紹了java 對(duì)文件夾目錄進(jìn)行深度遍歷實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下

java 對(duì)文件夾目錄進(jìn)行深度遍歷實(shí)例代碼

1、題目

對(duì)指定目錄進(jìn)行所有內(nèi)容的列出(包含子目錄中的內(nèi)容),也可以理解為對(duì)目錄進(jìn)行深度遍歷。

2、解題思想

從電腦中獲取文件目錄,建立函數(shù)對(duì)其遍歷,在這個(gè)函數(shù)中需要對(duì)該目錄中的每個(gè)文件進(jìn)行判斷,如果文件還是目錄,則調(diào)用函數(shù)本身繼續(xù)對(duì)其進(jìn)行遍歷,如果文件不是目錄,則直接輸出文件名。為了加強(qiáng)顯示的效果,我們還可以建立一個(gè)getSpace函數(shù),對(duì)其進(jìn)行縮進(jìn)。

需要注意的是,不要直接遍歷C盤的內(nèi)容,其目錄層次太深,含有太多的系統(tǒng)級(jí)文件,容易返回為空,導(dǎo)致空指針異常的發(fā)生,也不要直接遍歷D盤,因?yàn)橹灰浜须[藏的系統(tǒng)卷標(biāo)目錄,也會(huì)造成空指針異常的發(fā)生。

3、Java代碼

import java.io.File;
public class DepthTraversal {
  public static void main(String[] args) {
    File dir = new File("d:\\BaiduYunDownload");
    listAll(dir, 0);
  }

  public static void listAll(File dir, int level) {
    System.out.println(getSpace(level) + dir.getName());
    level++; //每調(diào)用一次,level加1
    File[] files = dir.listFiles(); //獲取指定目錄下當(dāng)前的所有文件夾或者文件對(duì)象
    for (int x = 0; x < files.length; x++) { //循環(huán)遍歷
      if (files[x].isDirectory()) { //如果是目錄,繼續(xù)調(diào)用listAll函數(shù)
        listAll(files[x], level);
      } else { //否則,直接輸出文件名
        System.out.println(getSpace(level) + files[x].getName());
      }
    }
  }

  private static String getSpace(int level) { //輸出空格,加強(qiáng)顯示效果
    StringBuilder sb = new StringBuilder();
    sb.append("|--");
    for (int x = 0; x < level; x++) {
      sb.insert(0, "| ");
    }
    return sb.toString();
  }
}

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • Java實(shí)現(xiàn)桌面日歷

    Java實(shí)現(xiàn)桌面日歷

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)桌面日歷,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • Java框架入門之簡(jiǎn)單介紹SpringBoot框架

    Java框架入門之簡(jiǎn)單介紹SpringBoot框架

    今天給大家?guī)淼氖顷P(guān)于Java的相關(guān)知識(shí),文章圍繞著SpringBoot框架展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Spring Boot集成starrocks快速入門Demo(適用場(chǎng)景)

    Spring Boot集成starrocks快速入門Demo(適用場(chǎng)景)

    StarRocks 是新一代極速全場(chǎng)景 MPP (Massively Parallel Processing) 數(shù)據(jù)庫,StarRocks 的愿景是能夠讓用戶的數(shù)據(jù)分析變得更加簡(jiǎn)單和敏捷,這篇文章主要介紹了Spring Boot集成starrocks快速入門Demo,需要的朋友可以參考下
    2024-08-08
  • RocketMQ?broker?消息投遞流程處理PULL_MESSAGE請(qǐng)求解析

    RocketMQ?broker?消息投遞流程處理PULL_MESSAGE請(qǐng)求解析

    這篇文章主要為大家介紹了RocketMQ?broker?消息投遞流程處理PULL_MESSAGE請(qǐng)求源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • SpringBoot利用validation實(shí)現(xiàn)優(yōu)雅的校驗(yàn)參數(shù)

    SpringBoot利用validation實(shí)現(xiàn)優(yōu)雅的校驗(yàn)參數(shù)

    數(shù)據(jù)的校驗(yàn)是交互式網(wǎng)站一個(gè)不可或缺的功能,如果數(shù)據(jù)庫中出現(xiàn)一個(gè)非法的郵箱格式,會(huì)讓運(yùn)維人員頭疼不已。本文將介紹如何利用validation來對(duì)數(shù)據(jù)進(jìn)行校驗(yàn),感興趣的可以跟隨小編一起學(xué)習(xí)一下
    2022-06-06
  • IDEA修改生成jar包名字的兩種方法實(shí)現(xiàn)

    IDEA修改生成jar包名字的兩種方法實(shí)現(xiàn)

    本文主要介紹了IDEA修改生成jar包名字的兩種方法實(shí)現(xiàn),通過簡(jiǎn)單的步驟,您可以修改項(xiàng)目名稱并在打包時(shí)使用新的名稱,具有一定的參考價(jià)值,感興趣的可以了解下
    2023-08-08
  • idea新建聚合項(xiàng)目并附上標(biāo)簽的詳細(xì)過程

    idea新建聚合項(xiàng)目并附上標(biāo)簽的詳細(xì)過程

    這篇文章主要介紹了idea新建聚合項(xiàng)目并附上標(biāo)簽的詳細(xì)過程,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • 詳解Java 中的UnitTest 和 PowerMock

    詳解Java 中的UnitTest 和 PowerMock

    這篇文章主要介紹了Java中的 UnitTest 和 PowerMock,文中講解非常詳細(xì),對(duì)大家學(xué)習(xí)有很大的幫助,感興趣的朋友可以了解下
    2020-06-06
  • Spring使用注解方式實(shí)現(xiàn)創(chuàng)建對(duì)象

    Spring使用注解方式實(shí)現(xiàn)創(chuàng)建對(duì)象

    這篇文章主要介紹了Spring使用注解方式實(shí)現(xiàn)創(chuàng)建對(duì)象,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2023-02-02
  • java獲取本月日歷表的方法

    java獲取本月日歷表的方法

    這篇文章主要為大家詳細(xì)介紹了java獲取本月日歷表的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06

最新評(píng)論