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

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)文章

  • SpringBoot3.x中自定義開(kāi)發(fā)通用SDK的實(shí)現(xiàn)

    SpringBoot3.x中自定義開(kāi)發(fā)通用SDK的實(shí)現(xiàn)

    本文介紹了SpringBoot和Maven創(chuàng)建自定義的SDK,包括創(chuàng)建項(xiàng)目、修改配置、編寫配置類、設(shè)置配置文件、構(gòu)建Jar包等,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-12-12
  • SpringBoot使用validation做參數(shù)校驗(yàn)的實(shí)現(xiàn)步驟

    SpringBoot使用validation做參數(shù)校驗(yàn)的實(shí)現(xiàn)步驟

    這篇文章主要介紹了SpringBoot使用validation做參數(shù)校驗(yàn)的實(shí)現(xiàn)步驟,幫助大家更好的理解和學(xué)習(xí)使用SpringBoot,感興趣的朋友可以了解下
    2021-05-05
  • Maven2 plugin開(kāi)發(fā)教程詳解

    Maven2 plugin開(kāi)發(fā)教程詳解

    這篇文章主要為大家詳細(xì)介紹了Maven2 plugin的開(kāi)發(fā)教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • SpringBoot配置mybatis駝峰命名規(guī)則自動(dòng)轉(zhuǎn)換的實(shí)現(xiàn)

    SpringBoot配置mybatis駝峰命名規(guī)則自動(dòng)轉(zhuǎn)換的實(shí)現(xiàn)

    這篇文章主要介紹了SpringBoot配置mybatis駝峰命名規(guī)則自動(dòng)轉(zhuǎn)換的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • java swing實(shí)現(xiàn)簡(jiǎn)單計(jì)算器界面

    java swing實(shí)現(xiàn)簡(jiǎn)單計(jì)算器界面

    這篇文章主要為大家詳細(xì)介紹了java swing實(shí)現(xiàn)簡(jiǎn)單計(jì)算器界面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Java中的synchronized關(guān)鍵字

    Java中的synchronized關(guān)鍵字

    這篇文章主要介紹了Java中的synchronized關(guān)鍵字,synchronized可以保證方法或代碼塊在運(yùn)行時(shí),同一時(shí)刻只有一個(gè)線程可以進(jìn)入到臨界區(qū)(互斥性),同時(shí)它還保證了共享變量的內(nèi)存可見(jiàn)性,下面我們就來(lái)看看你文章對(duì)synchronized鎖的介紹,需要的朋友也可以參考一下
    2021-12-12
  • spring boot udp或者tcp接收數(shù)據(jù)的實(shí)例詳解

    spring boot udp或者tcp接收數(shù)據(jù)的實(shí)例詳解

    這篇文章主要介紹了spring boot udp或者tcp接收數(shù)據(jù),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • 利用Spring Validation實(shí)現(xiàn)輸入驗(yàn)證功能

    利用Spring Validation實(shí)現(xiàn)輸入驗(yàn)證功能

    這篇文章主要給大家介紹了如何利用Spring Validation完美的實(shí)現(xiàn)輸入驗(yàn)證功能,文中有詳細(xì)的代碼示例,具有一定的參考價(jià)值,感興趣的朋友可以借鑒一下
    2023-06-06
  • 從java反編譯及字節(jié)碼角度探索分析String拼接字符串效率

    從java反編譯及字節(jié)碼角度探索分析String拼接字符串效率

    這篇文章主要介紹了從java反編譯及字節(jié)碼角度探索分析String拼接字符串效率,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • Java使用Calendar類實(shí)現(xiàn)動(dòng)態(tài)日歷

    Java使用Calendar類實(shí)現(xiàn)動(dòng)態(tài)日歷

    這篇文章主要為大家詳細(xì)介紹了Java使用Calendar類實(shí)現(xiàn)動(dòng)態(tài)日歷,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07

最新評(píng)論

乌审旗| 枣强县| 崇义县| 青铜峡市| 临沭县| 晋中市| 阿拉善右旗| 沁水县| 汶上县| 来凤县| 双峰县| 清涧县| 深泽县| 札达县| 淮阳县| 新绛县| 丹棱县| 凌源市| 犍为县| 阜宁县| 壤塘县| 维西| 洪湖市| 青龙| 屏东市| 齐河县| 碌曲县| 富裕县| 祁阳县| 罗山县| 福海县| 台安县| 邳州市| 丰城市| 汤阴县| 临湘市| 定安县| 南充市| 肥乡县| 交口县| 曲阳县|